Excel VBA質問箱 IV

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

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


7446 / 76732 ←次へ | 前へ→

【74873】Re:For/NextとRangeの組み合わせ
回答  ウッシ  - 13/10/15(火) 10:15 -

引用なし
パスワード
   こんにちは

元の位置情報が
D4、D5、D6〜と連続したセル位置なら Offset とか使えばcell1〜という変数はいらないと思います。
連続していないなら

Sub Macro1()
  Dim cell(1 To 2) As String
  Dim i As Long
  
  cell(1) = Range("D4").Value 'D4セルにはI5と入っている。I5セルにはコピーしたい数値あり
  cell(2) = Range("D5").Value 'D5セルにはI7と入っている。I7セルにはコピーしたい数値あり
   
  For i = 1 To 2
    Range(cell(i)).Copy Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
  Next

End Sub

Offset(0, 0)だと、ずっと上書きされちゃうのでOffset(1, 0)にしてあります。


▼Mst さん:
>指定したセルの値を取得して張り付ける作業を考えてます。
>D4, D5でコピーしたいセルを指定。
>
>
>Sub Macro1()
>Dim cell1 As String, cell2 As String
>
>cell1 = Range("D4") 'D4セルにはI5と入っている。I5セルにはコピーしたい数値あり
>cell2 = Range("D5") 'D5セルにはI7と入っている。I7セルにはコピーしたい数値あり
>
>
>For i = 1 To 2
>Range(cell & i).Copy
>Range("A1048576").End(xlUp).Offset(0, 0).Select
>Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>    :=False, Transpose:=False
>Next
>
>End Sub
>
>この場合、
>Range(cell & i).Copy
>でエラーになって止まってしまいます。
>実際はコピーしたいセルが多いため、
>うまくRange(cell1), Range(cell2)、、、、と順に指定したいです。
>
>どうすればうまくセルを指定できるでしょうか?
>よろしくお願いします。

324 hits

【74872】For/NextとRangeの組み合わせ Mst 13/10/15(火) 9:57 質問
【74873】Re:For/NextとRangeの組み合わせ ウッシ 13/10/15(火) 10:15 回答
【74874】Re:For/NextとRangeの組み合わせ Mst 13/10/16(水) 0:01 質問
【74875】Re:For/NextとRangeの組み合わせ ウッシ 13/10/16(水) 0:15 回答
【74876】Re:For/NextとRangeの組み合わせ Mst 13/10/16(水) 3:06 お礼
【74877】Re:For/NextとRangeの組み合わせ ウッシ 13/10/16(水) 7:59 回答

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