• ベストアンサー

ExelVBAでのアクティブセルの記述

Excelマクロ初心者です。 今会社で出勤表のマクロを組んでいるのですが、 「アクティブセルが○列にあった場合、アクティブセルを2行下、30列左に移動させ、それ以外だと右に一つ移動」 という構文は、 「If アクティブセルが○列にある Then ActiveCell.Offset(2, -30).Select Else ActiveCell.Offset(0, 1).Select End If」 となると思うのですが、その肝心な「アクティブセルが○列にある」の記述の仕方が分かりません。 どうかご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.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 '-------↑ コンナカンジ ↑-------------------------------- ご参考まで。

shimajing
質問者

お礼

回答ありがとうございます。 「ActiveCell.Column = 4」でできました。 助かりました。 ありがとうございました。

その他の回答 (1)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

参考例 Cells(1, 1).Select ActiveCell.Offset(0, 2).Select セル1,1に アクティブセルを飛ばす

shimajing
質問者

補足

早速回答ありがとうございます。 アクティブセルを飛ばす方法は分かるのですが、 条件で「アクティブセルがどこかの列にある場合」という文の記述の方法が 分かりません…。

関連するQ&A