• ベストアンサー

Worksheet_Changeイベントでドラッグ方向の取得?

エクセルVBA のWorksheet_Changeイベントで 例えば、A1セルをクリックしA2へドラッグした場合、Target.addressはA1:A2になりますが、A2セルをクリックしA1へドラッグした場合でもTarget.addressは同じです。 上から下へドラッグしたか、下から上なのか判定する方法はありますか?

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

  • ベストアンサー
回答No.1

A1を起点にA2までドラッグして選択した場合は、起点のセル(この場合はA1)は白く なってアクティブになっています。 ですから、ActiveCell.Address を見ればよいのではないでしょうか。 MsgBox Target.Address & " " & ActiveCell.Address とすると、選択範囲と起点のセルがわかりますね。

merlionXX
質問者

お礼

ありがとうございます。 ActiveCell.Address を見ればよいのですね! たすかりました。

その他の回答 (1)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

以前教えてもらったコードです。 15ゲームをドラッグで動かすのに 使ったコードです。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Selection If .Columns.Count = 1 And .Rows.Count = 1 Then Exit Sub End If If .Columns.Count > 1 And .Rows.Count > 1 Then Exit Sub End If Select Case .Rows.Count - 1 Case Is <> 0 Select Case .Row - ActiveCell.Row Case Is <> 0 MsgBox "↑" Case Else MsgBox "↓" End Select Case Else Select Case .Column - ActiveCell.Column Case Is <> 0 MsgBox "←" Case Else MsgBox "→" End Select End Select End With End Sub

merlionXX
質問者

お礼

面白いコードをありがとうございました。 やはりActiveCell.Address を見てるんですね。 ありがとうございます。

関連するQ&A