[英]Copy columns from one sheet to another workbook
我有一個包含多個工作表的工作簿。我有一個名為“ MergedData”的工作表,我需要將B
& L
列復制到一個名為“ Bookings.xls”的工作簿中
B列是一個詞序號,L是一個£值,我需要它復制超過£0.01的值並排除所有帶有nil值的值。
數據將需要放入“預訂”工作簿的A
和B
列A
行中,從第9行開始。
運行代碼時,每個月都需要擦除數據。
我將將此代碼應用於不同承包商的多個工作簿。 因此,代碼無法硬鎖定到原始文件。 需要是活動工作簿, Bookings.xls
文件是所有承包商文件夾中的靜態工作簿。
感謝所有的支持。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.