2017-06-21 71 views
0

我有一个宏,它在单击单元格时显示日历。我的问题是,当这个单元格与其他单元格合并时,我无法运行相同的宏。我尝试过为每个细胞选择个体或制作一系列细胞。这两个选项都不起作用。Exel如何从已合并的单元格运行宏

我的问题是如何编写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

当你点击其中“K12”是,是什么在左上角的单元叫什么名字?我的猜测是,它合并后不再是k12了。 – dwirony

+0

@dwirony这个方向完全错误,我不明白人们如何推送“有用”按钮。代码不运行的原因是'Selection.count',它在合并的单元格上大于1。 – teylyn

回答

1

Selection.count将返回在合并单元格的所有单元的计数,所以它会为合并单元格大于1。删除计数条件并且代码将正常运行。

合并的细胞引起各种头痛,应该避免。如果单元格跨多个列合并,请考虑使用格式设置“center across selection”。

1

或者你可以简单地尝试这个...

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