Excel VBA質問箱 IV

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

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


7445 / 76732 ←次へ | 前へ→

【74874】Re:For/NextとRangeの組み合わせ
質問  Mst  - 13/10/16(水) 0:01 -

引用なし
パスワード
    ほぇぇ、すごいです。。。
まさに希望していた回答でした。
本当にありがとうございます。

まだまだスマートなマクロはかけないですが、これからもがんばります。

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

勉強として、このときどう表現するとキレイか、
お時間あればまた教えていただけると助かります。

よろしくお願いします。
ありがとうございました。


▼ウッシ さん:
>こんにちは
>
>元の位置情報が
>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)、、、、と順に指定したいです。
>>
>>どうすればうまくセルを指定できるでしょうか?
>>よろしくお願いします。
312 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 回答

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