- ベストアンサー
Worksheet_Changeイベントでドラッグ方向の取得?
エクセルVBA のWorksheet_Changeイベントで 例えば、A1セルをクリックしA2へドラッグした場合、Target.addressはA1:A2になりますが、A2セルをクリックしA1へドラッグした場合でもTarget.addressは同じです。 上から下へドラッグしたか、下から上なのか判定する方法はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A1を起点にA2までドラッグして選択した場合は、起点のセル(この場合はA1)は白く なってアクティブになっています。 ですから、ActiveCell.Address を見ればよいのではないでしょうか。 MsgBox Target.Address & " " & ActiveCell.Address とすると、選択範囲と起点のセルがわかりますね。
その他の回答 (1)
- marbin
- ベストアンサー率27% (636/2290)
以前教えてもらったコードです。 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
お礼
面白いコードをありがとうございました。 やはりActiveCell.Address を見てるんですね。 ありがとうございます。
お礼
ありがとうございます。 ActiveCell.Address を見ればよいのですね! たすかりました。