簡體   English   中英

Excel VBA將行范圍從一個工作表復制到另一工作表的特定行

[英]Excel VBA to copy a row range from one sheet to a particular row in another

我已經廣泛搜索了我需要的東西,但只找到了一篇文章,但並不能完全幫助我解決我所需要的東西(盡管它是最接近的內容)。

我正在創建一個跟蹤器,以跟蹤我在Excel工作表上的記錄,在其中我從源中獲取數據的原始轉儲。

“跟蹤器”表

Column A      Column B      Column C        Column D
Ref#          App name      Date            My own Comments
001           Excel         01/01/2015      tracking deployment on 1/1
002           Word          02/02/2015      tracking decom  on 2/2
003           PPT           03/03/2015      tracking upfrade on 3/3

“原始數據”表

Column A        Column B    Column C
Ref#            App name    Date
001             Excel       01/02/2015
002             Word        02/03/2015
003             PPT         03/04/2015

我需要一個宏來將行范圍A1到C1從原始數據復制到跟蹤器,而不會覆蓋我的列D。 還需要宏將其僅粘貼到引用已存在的行上,以便我的注釋有效。 例如,它將查看Raw Data中的ref 001,並在Tracker中進行查找(如果存在),然后在同一行上進行復制。 否則,使用該信息創建一個新行。 日期根據原始數據不時更改,我希望能夠基於跟蹤器列d的單元格進行跟蹤以進行報告。

請讓我知道這在Macro中是否可行,因為可能無法選擇在PC上安裝第三方軟件。

Dim dataSheet As Worksheet
Dim copyToSheet As Worksheet

Set dataSheet = Sheets("Raw Data")
Set copyToSheet = Sheets("Tracker")

'Unhide the sheet to dump data on
copyToSheet.Visible = True

dataSheet.Activate

sheet1LastRow = dataSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

dataSheet.Range("A1:C" & sheet1LastRow).Copy
copyToSheet.Range("A1").PasteSpecial xlPasteValues

這應該做您想要的。 如果我輸入的工作表名稱不正確,則可能需要更改它們的名稱:)

你也可以改變“ .PasteSpecial xlPasteValues ”到“ .Paste ”,而是如果你想要做的擊球,而不是僅粘貼值 按Ctrl + V的等價物。

暫無
暫無

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

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