ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

初心者のためのExcel VBAコミュのシートをActiveにしていますが

  • mixiチェック
  • このエントリーをはてなブックマークに追加


Worksheets("配布").Activate

Range(Cells(MyLastRow2, 1), Cells(MyLastRow, 8)).Copy _
Destination:=WkDataDelete.Range("A6:H15")

実行後配布シートは手前に選択されます。
コピー先のWkDataDeleteシートを
みてもコピーされず、セルがブランクです。
コピー先の範囲指定しているところに元々あったデータはクリアされています。


別のシートで全く同じ記述をしているのですが
それは思ったとおりにコピーされます。






コメント(2)

書式などをコピーする必要が無く、値だけをコピーするのであれば、以下の方法が最も簡単であり、意のままになると思われ。。

WkDataDelete.Range("A6:H15") = Worksheets("配布").Range(Cells(MyLastRow2, 1), Cells(MyLastRow, 8)).Value

因みに、「WkDataDelete」はObjectなのでしょうか?それとも、Worksheet名なのでしょうか?
もし、Worksheet名であれば、以下のようにするべきでは?

Worksheets("WkDataDelete").Range("A6:H15") = Worksheets("配布").Range(Cells(MyLastRow2, 1), Cells(MyLastRow, 8)).Value
解答ありがとうございます。

WkDataDelete WkChiraHaifu
はワークシートオブジェクトです。

WkDataDeleteシートにあるボタンをクリックして、WkDataDeleteに
貼り付けます。

WkChiraHaifu.Select

WkDataDelete.Range("A6:H15").value = WkChiraHaifu.Range(Cells_
(MyLastRow2, 1), Cells(MyLastRow, 8)).value

としてもエラーになりました。ワークシート名を指定したり
いろいろ試してみてうまくいかず。
cellをひとつだけ指定するとコピーされました。

Myadr = "A" & MyLastRow2 & ":" & "H" & MyLastRow
Set Myrange = WkChiraHaifu.Range(Myadr)
WkDataDelete.Range("A6:H15").Value = Myrange.Value

  別の書き方をしてみたら思った通りの結果となりました。



ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

初心者のためのExcel VBA 更新情報

初心者のためのExcel VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。