- ベストアンサー
ExelVBAでのアクティブセルの記述
Excelマクロ初心者です。 今会社で出勤表のマクロを組んでいるのですが、 「アクティブセルが○列にあった場合、アクティブセルを2行下、30列左に移動させ、それ以外だと右に一つ移動」 という構文は、 「If アクティブセルが○列にある Then ActiveCell.Offset(2, -30).Select Else ActiveCell.Offset(0, 1).Select End If」 となると思うのですが、その肝心な「アクティブセルが○列にある」の記述の仕方が分かりません。 どうかご教授ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば、「アクティブセルがD列にある」かどうかを調べる場合 '-------↓ タトエバ ↓------------------------------------ Sub Sample1() 'アクティブセルの列番号と、D列の列番号=4を比較する If ActiveCell.Column = 4 Then MsgBox "アクティブセルがD列にある" End If End Sub 'あるいは Sub Sample2() 'アクティブセルを含む列全体のアドレスと"$D:$D"を比較する If ActiveCell.EntireColumn.Address = "$D:$D" Then MsgBox "アクティブセルがD列にある" End If End Sub '-------↑ コンナカンジ ↑-------------------------------- ご参考まで。
その他の回答 (1)
- tom11
- ベストアンサー率53% (134/251)
参考例 Cells(1, 1).Select ActiveCell.Offset(0, 2).Select セル1,1に アクティブセルを飛ばす
補足
早速回答ありがとうございます。 アクティブセルを飛ばす方法は分かるのですが、 条件で「アクティブセルがどこかの列にある場合」という文の記述の方法が 分かりません…。
お礼
回答ありがとうございます。 「ActiveCell.Column = 4」でできました。 助かりました。 ありがとうございました。