- ベストアンサー
マクロのif文
「もしアクティブセルの一つ上のセルが選択状態だったら」 上記のマクロ文は以下では違うと思いますが、正しいものを教えて下さい。 If ActiveCell.Offset(1, 0) = Selection Then
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じです。 Dim rngC As Range Set rngC = Intersect(ActiveCell.Offset(-1, 0), Selection) If Not rngC Is Nothing Then MsgBox "選択されています" Else MsgBox "選択されてません" End If Intersect メソッドを VBA のヘルプで調べてみて下さい。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
>「もしアクティブセルの一つ上のセルが選択状態だったら」 それは、むつかしいね。そのようなケースは、かなり少ないです。 私は、経験がありません。 理屈では、以下のようなコードになります。 If TypeName(Selection) <> "Range" Or ActiveCell.Row = 1 Then Exit Sub If Not Intersect(ActiveCell.Offset(-1), Selection) Is Nothing Then '実行 Else '別の実行 End If しかし、アクティブセルというのは、1つのセルですから、その上が選択(Selection)状態になっているというのは、もともと、選択された状態ではなくて、選択(Selection)状態の中で、意図的にアクティブセルが動かした結果ですから、本来は、全体の流れを見てみないと、役に立たないかもしれません。
お礼
ありがとうございました。 OKでした。
お礼
ありがとうございました。 OKでした。