VBA Excel脚本,用于从一个工作表中复制包含数据的行&;粘贴到另一个中而不覆盖
Excel 2007 我正在尝试运行一个VBA脚本,该脚本将从一个名为MSL的工作表中复制一个销售分类账列表,该工作表的列有日期、发票号、公司名称、总计、小计、净额、增值税 我遇到的第一个问题是,我只想复制包含记录的第2行及以后的行,该数字将根据销售情况每月更改 e、 简有30行 二月有24排 马尔有40行 接下来,我需要将数据粘贴到名为“SalesDB”的新工作表中,该工作表具有相同的列DATE、INVOICE NO、COMPANY NAME、TOTAL、SUB-TOTAL、NETT、VAT 我遇到的下一个问题是数据被覆盖VBA Excel脚本,用于从一个工作表中复制包含数据的行&;粘贴到另一个中而不覆盖,excel,excel-2007,vba,Excel,Excel 2007,Vba,Excel 2007 我正在尝试运行一个VBA脚本,该脚本将从一个名为MSL的工作表中复制一个销售分类账列表,该工作表的列有日期、发票号、公司名称、总计、小计、净额、增值税 我遇到的第一个问题是,我只想复制包含记录的第2行及以后的行,该数字将根据销售情况每月更改 e、 简有30行 二月有24排 马尔有40行 接下来,我需要将数据粘贴到名为“SalesDB”的新工作表中,该工作表具有相同的列DATE、INVOICE NO、COMPANY NAME、TOTAL、SUB-TOTAL、NETT、VAT
Sub CopyPasteSales
Dim salesData as range, targetRng as range
Set salesData = Worksheets("MLS").Range("A2:G" & Range("A1").end(xlDown).Row)
If Worksheets("SalesDB").Range("A2") = vbNullString Then
Set targetRng = Worksheets("SalesDB").Range("A2") //If no data in SalesDB start in row 2
Else
Set targetRng = Worksheets("SalesDB").Range("A1").end(xlDown).Offset(1,0) //If data already in SalesDB, find next free row
End if
salesData.Copy Destination:= targetRng
End Sub
谢谢你的帮助
将在接下来的一小时内从学校收集孩子假设
工作表MLS
如下所示,并且工作表SalesDB
的格式相同:
A B C D E F G
1 Date Invoice No Company Name Total Sub-Total Nett VAT
2
此代码将从MLS
中获取数据,并考虑条目数,然后添加到SalesDB
,避免覆盖
Sub CopyPasteSales
Dim salesData as range, targetRng as range
Set salesData = Worksheets("MLS").Range("A2:G" & Range("A1").end(xlDown).Row)
If Worksheets("SalesDB").Range("A2") = vbNullString Then
Set targetRng = Worksheets("SalesDB").Range("A2") //If no data in SalesDB start in row 2
Else
Set targetRng = Worksheets("SalesDB").Range("A1").end(xlDown).Offset(1,0) //If data already in SalesDB, find next free row
End if
salesData.Copy Destination:= targetRng
End Sub
简短且动态:(未测试,可能包含打字错误)
澄清一下,,每个月您都想将工作表MSL中当月的最新销售数据复制到工作表SalesDB中,但保留SalesDB中所有前几个月的数据,即SalesDB保留前几个月的销售历史记录?谢谢您的帮助我非常感谢您似乎正在做我需要的所有事情,但直到我的小儿子们拿到一份在set targetRng行出现错误“无法在中断模式下执行代码”,这很奇怪,因为它确实起作用了?必须将MLS更改为MSLEdit,很抱歉,此错误是运行时错误“1004”应用程序定义的错误或对象定义的错误@remnant如果SalesDB中没有任何数据,它将给出错误。我现在更新了代码来处理SalesDB中还没有数据的情况