Excel VBA質問箱 IV

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

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


9387 / 13644 ツリー ←次へ | 前へ→

【27662】複数行 sea 05/8/15(月) 12:30 質問[未読]
【27664】Re:複数行 かみちゃん 05/8/15(月) 12:48 回答[未読]
【27665】Re:複数行 sea 05/8/15(月) 13:05 お礼[未読]

【27662】複数行
質問  sea  - 05/8/15(月) 12:30 -

引用なし
パスワード
   過去ログを見ながら勉強していますが、どうもうまくいかないのでお力をお貸し頂けますでしょうか?
希望は、4行目から100行目まで3行おきに行の選択がしたいと思っております。

Sub 複数行選択貼付()
'選択
  Sheets("sheet1").Select
Dim i As Integer
  For i = 4 To 100 Step 3 '4行目から100行目まで3行おきに選択
   Range("i:i").Select
  Next i
End Sub
これだと、"I列"が選択されてしまいました。
"4・7・10・13・・・・・" と行選択したいのですが・・・
よろしくお願いいたします。

【27664】Re:複数行
回答  かみちゃん  - 05/8/15(月) 12:48 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>希望は、4行目から100行目まで3行おきに行の選択がしたいと思っております。

過去ログおよびヘルプで、Unionを調べてみてください。
こんな感じでできると思います。

Sub 複数行選択貼付()
 Dim i As Integer
 Dim r As Range
 
 '選択
 Sheets("sheet1").Select
 For i = 4 To 100 Step 3 '4行目から100行目まで3行おきに選択
  If i = 4 Then
   Set r = Rows(i)
  Else
   Set r = Union(r, Rows(i))
  End If
 Next i
 r.Select
End Sub

なお、
Range("i:i").Select
というのは、「i:i」という範囲になり
Range(i & ":" & i)
としなければ、変数iを使っていることになりません。
上記
Rows(i)
の部分は、
Range(i & ":" & i)
でもいいです。

【27665】Re:複数行
お礼  sea  - 05/8/15(月) 13:05 -

引用なし
パスワード
   かみちゃんさん
早速のご回答 誠に有難うございます。
おかげさまで思った通りの事が出来ました。
また 何か有りましたらよろしくお願いいたします。

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