Exel如何从MERGED单元格运行宏

时间:2017-06-21 23:28:01

标签: excel vba excel-vba

我有一个宏,在单击一个单元格时显示日历。我的问题是,当此单元格与其他单元格合并时,我无法运行相同的宏。我尝试了为每个细胞选择个体或制作一系列细胞。这两个选项都没有奏效。

我的问题是如何在vba中编码合并的单元格以运行宏。 我的代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("K12")) Is Nothing Then
            Call SHOWCALENDAR
        End If
    End If
End Sub

2 个答案:

答案 0 :(得分:1)

Selection.count将返回合并单元格中所有单元格的计数,因此对于合并单元格,它将大于1。删除该计数条件,代码将运行正常。

合并的细胞引起各种头痛,应该避免。如果单元格跨多个列合并,请考虑使用格式设置"居中选择"代替。

答案 1 :(得分:1)

或者你可以试试这个...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells(1).Address(0, 0) = "K12" Then
    Call SHOWCALENDAR
End If
End Sub