簡體   English   中英

單擊時從合並的單元格中復制數據

[英]Copy data from merged cells on clicking

以下代碼在單擊時復制單元格數據(范圍 F1:H19),並將它們粘貼到同一工作簿的不同工作表的最后一行。

當我單擊合並的單元格時,沒有任何反應。 就像單元格為空時一樣。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("f1:h19")) Is Nothing Then
    If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
    Cancel = True
    Dim Lastrow As Long
    Lastrow = Sheets("sheet1").Cells(Rows.Count, "C").End(xlUp).Row + 1
    Target.Copy Sheets("sheet1").Cells(Lastrow, 3)
End If

End Sub

什么都沒有發生,因為如果Target是合並單元格,則Target.Cells.Count大於 1。

我將使用Range.MergeCells更改您的邏輯以確定是否單擊了合並的單元格:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Me.Range("f1:h19")) Is Nothing Then Exit Sub

    If Not Target.MergeCells Then
        If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
    Else
        If IsEmpty(Target.Cells(1, 1)) Then Exit Sub
    End If

    Cancel = True
    Dim Lastrow As Long
    Lastrow = Sheets("sheet1").Cells(Rows.Count, "C").End(xlUp).Row + 1

    Target.Cells(1, 1).Copy Sheets("sheet1").Cells(Lastrow, 3)
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM