2017-06-21 69 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