| 
    
     |  | ▼ぴかる さん: こんばんは。
 
 >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
 
 確認して下さい
 
 |  |