将列从一个工作表复制到另一个工作簿
我有一个工作簿中有多张表。我有一个名为“MergedData”的表,我需要将列B
& L
复制到名为“Bookings.xls”的工作簿中
B列是一个字顺序号,L是一个£值,我需要它复制超过£0.01的值,并排除所有的零值。
数据将需要放置在Bookings工作簿的A
行和B
列A
行中,从第9行开始。
代码运行时,每个月都需要清除数据。
我将这个代码应用于不同承包商的多个工作簿。 所以代码不能硬locking到原始文件。 需要成为活动工作簿, Bookings.xls
文件是所有承build商文件夹中的静态工作簿。
感谢所有的支持。
Private Sub CommandButton1_Click() Dim LastDRow As Integer, _ InitWorkSheet As Worksheet, _ DestWorkSheet As Worksheet, _ myData As Workbook, _ LastWRow As Integer Set InitWorkSheet = ActiveWorkbook.Sheets("MergedData") 'Or ActiveWorkbook.Sheets("Sheet1") Set myData = Workbooks.Open(ActiveWorkbook.Path & "\Bookings.xls") DoEvents Set DestWorkSheet = myData.Sheets("Sheet1") 'Or myData.Sheets("Sheet1") With InitWorkSheet LastDRow = .Rows(.Rows.Count).End(xlUp).Row MsgBox LastDRow For i = LastDRow To 1 Step -1 If .Cells(i, "L") < 0 Then Else LastWRow = DestWorkSheet.Cells(DestWorkSheet.Rows.Count, "A").End(xlUp).Row If LastWRow < 9 Then LastWRow = 9 DestWorkSheet.Cells(LastWRow, 1) = .Cells(i, "B") DestWorkSheet.Cells(LastWRow, 2) = .Cells(i, "L") End If Next i End With myData.Save End Sub`
这个,让我知道:
Private Sub CommandButton1_Click() Dim LastDRow As Integer, _ InitWorkSheet As Worksheet, _ DestWorkSheet As Worksheet, _ myData As Workbook, _ LastWRow As Integer Set InitWorkSheet = ActiveWorkbook.Sheets("MergedData") Set myData = Workbooks.Open(ActiveWorkbook.Path & "\Bookings.xls") Set DestWorkSheet = myData.Sheets("Sheet1") DestWorkSheet.Cells.ClearContents With InitWorkSheet LastDRow = .Rows(.Rows.Count).End(xlUp).Row For i = 1 To LastDRow 'To 1 Step -1 If .Cells(i, "L") < 0.01 Then Else LastWRow = DestWorkSheet.Cells(DestWorkSheet.Rows.Count, "A").End(xlUp).Row + 1 If LastWRow < 9 Then LastWRow = 9 DestWorkSheet.Cells(LastWRow, 1) = .Cells(i, "B") DestWorkSheet.Cells(LastWRow, 2) = .Cells(i, "L") End If Next i End With myData.Save End Sub