- ベストアンサー
エクセルVBAでUsedRangeかつB列の指定方法について
For Each c In ActiveSheet.UsedRange 略 Next この構文で、cが全てのUsedRangeではなく、B列かつUsedRange内とするためにはどう記述すればいいのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
範囲を得たいなら Sub Test1() With ActiveSheet MsgBox Application.Intersect _ (.Range("B:B"), .UsedRange).Address End With End Sub ループさせて各Rangeを処理するなら Sub Test2() Dim c As Range With ActiveSheet For Each c In Application.Intersect _ (.Range("B:B"), .UsedRange) MsgBox c.Address Next c End With End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
For Each c In ActiveSheet.UsedRange のIn以下では別の表現を入れてAND条件の指定は無理でしょう。 だから次の行に、IF文を入れて Sub test02() Dim c As Range For Each c In ActiveSheet.UsedRange If c.Column = 2 Then MsgBox c.Address End If Next End Sub とすると$B$1,$B$2・・・のように$B付きのAddressが 表示されます。
お礼
有難うございました。
- tinu 2000(@tinu2000)
- ベストアンサー率40% (147/366)
For Each c In ActiveSheet.UsedRange If Left(c.Address, 2) = "$B" Then 略 End If Next ではだめですか?
お礼
さっそくありがとうございました。 なるほど!
お礼
有難うございました! 完璧な回答、感謝いたします。