|
▼ぴかる さん:
こんばんは。
>Target.Value = "" がネックでした。同じ意味でなんか回避出来ませんか?。
>よろしくお願いします。多分、確認が遅れます。ゴメンナサイです。
>
>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
>
> On Error GoTo ZZZ
> If Target.Value = "" Then
> MsgBox "普通のセルを選択したネ!"
> Exit Sub
> End If
>
>ZZZ:
> MsgBox "結合セル選択すると、エラーになるねん!"
>
>End Sub
エラートラップが簡単みたいですよ。
ただ、上記のコードだと結合セル選択と複数セル選択の区別がつかないですよね?
'====================================================================
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim m_rng As Range
Dim crng As Range
Set m_rng = Nothing
Select Case mergechk(Target)
Case 0
Target.Value = "単一セル選択"
Case 1
Target.Cells(1, 1).Value = "複数セル選択"
Case 2
Target.Cells(1, 1).Value = "結合セル選択"
End Select
End Sub
Function mergechk(rng As Range) As Long
' INPUT : 調査セル範囲
' OUTPUT: mergechk
' 0-単一セル
' 1-複数セル
' 2-結合セル
On Error Resume Next
Dim wk As Boolean
If rng.Count > 1 Then
wk = rng.MergeCells
If Err.Number <> 0 Then
wk = False
End If
If wk = True Then
mergechk = 2
Else
mergechk = 1
End If
Else
mergechk = 0
End If
On Error GoTo 0
End Function
確認して下さい
|
|