- ベストアンサー
VBA For Eachの使い方
For Each x In Range("A1:G1") このようなコードにおいて、A1からG1の全てに対して処理を行うのではなく、A1とC1とE1とG1に対して処理を行い、B1とD1とF1は飛ばして処理をしないようにするにはどうすれば良いですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
やり方は色々あるけど、例えば列数で処理分けする場合 --- For Each x In Range("A1:G1") Select Case x.Column Case 1, 3, 5, 7 MsgBox ("○") Case 2, 4, 6 MsgBox ("×") End Select Next
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
例データA1:C3 1 2 3 4 5 6 7 8 9 コード Sub test03() Dim cl As Range For Each cl In Range("A1,c1,a3") MsgBox cl Next End Sub 実行すると 1,3,7が表示されます。 ご参考に。
質問者
お礼
回答ありがとうございます。 STEP~とかで、一つ飛びなんてことは出来ないのですね。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
For Each x In Range("A1,C1,E1,G1") '処理 Next とか flag = True For Each x In Range("A1:G1") If flag Then '処理 End If flag = Not flag Next とか
質問者
お礼
回答ありがとうございます。 STEP~とかで、一つ飛びなんてことは出来ないのですね。
お礼
回答ありがとうございます。 STEP~とかで、一つ飛びなんてことは出来ないのですね。