簡體   English   中英

Excel VBA - 通過雙擊將特定單元格復制到新工作表,在下一個空閑行中

[英]Excel VBA - Copy specific cells to a new sheet with double click, in next free row

這些天我正在嘗試完成以下任務:

我有一張類似於觸摸屏報價的表格。 我稱它為工作表“NewOffer”。 在此工作表內有一系列單元格 J7 到 L27,其中動態顯示結果(產品)。

我想要的是復制(雙擊)特定范圍,當我雙擊第一個單元格(J7)時,可以說 J7 到 L7。 等等 如果我雙擊例如 J9 將 J9 復制到 L9 並復制行 - 范圍結果在一個新的工作表中讓我們在 A2 到 C2 單元格中將其稱為“NewOrders”,如果它被占用則稱為下一個可用行。

理想情況下,我只想復制值而不是邊框,colors 等。(抱歉我的英語不好:))

有什么幫助嗎?

試試這個。 這只是一個簡單的價值轉移而不是復制,這樣你就不會得到格式化,而且速度也更快。

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

If Target.Column = 10 Then
    Dim lrow As Long
    lrow = Sheets("NewOrders").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("NewOrders").Range("A" & lrow + 1, "C" & lrow + 1).Value = Range(Cells(Target.Row, 10), Cells(Target.Row, 12)).Value
End If

End Sub

首先檢查雙擊是否發生在 J (10) 列中。 然后找到 NewOrders 工作表上的最后一行。 然后從 J:L 列中獲取數據並將其放入 NewOrders 中 A:C 列的下一行。

暫無
暫無

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

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