Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3172 / 13646 ツリー ←次へ | 前へ→

【63769】一定範囲を代入する 初心者 09/12/11(金) 21:44 質問[未読]
【63771】Re:一定範囲を代入する kanabun 09/12/11(金) 22:25 発言[未読]
【63773】Re:一定範囲を代入する ponpon 09/12/11(金) 22:40 発言[未読]
【63778】Re:一定範囲を代入する データ 09/12/12(土) 21:44 お礼[未読]

【63769】一定範囲を代入する
質問  初心者  - 09/12/11(金) 21:44 -

引用なし
パスワード
   たとえば、セルA1からD10までの範囲をいったん何かに代入して
その代入した中身をシート2のセルE5に貼りつける場合のコードはどうすれば
いいのでしょうか。

selection.copyを使ったやり方でなく、上記の方法でマクロをかくには
どうすればいいのでしょうか

【63771】Re:一定範囲を代入する
発言  kanabun  - 09/12/11(金) 22:25 -

引用なし
パスワード
   ▼初心者 さん:
>たとえば、セルA1からD10までの範囲をいったん何かに代入して
>その代入した中身をシート2のセルE5に貼りつける場合のコードはどうすれば
>いいのでしょうか。
>
>selection.copyを使ったやり方でなく、

値のコピーでよいのなら、こんな感じでどうでしょう

Sub Try1()
  Dim r As Range
  Dim c As Range
  Set r = Worksheets(1).[A1:D10]
  Set c = Worksheets(2).[E5].Resize(r.Rows.Count, r.Columns.Count)
  c.Value = r.Value
End Sub

【63773】Re:一定範囲を代入する
発言  ponpon  - 09/12/11(金) 22:40 -

引用なし
パスワード
   ▼初心者 さん:
すでにKanabunさんから回答がありますが、
せっかく書いたので

>何かに代入して
配列に入れて
Sub test()
  Dim myVal As Variant
  myVal = Sheets("Sheet1").Range("A1:D10").Value
  Sheets("Sheet2").Range("E5").Resize(10, 4).Value = myVal
End Sub

【63778】Re:一定範囲を代入する
お礼  データ  - 09/12/12(土) 21:44 -

引用なし
パスワード
   ▼kanabunさん、ponpon さん

やりたいことが叶いました。ありがとうございました。

3172 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free