簡體   English   中英

根據其他工作簿中其他工作表中的單元格值(月份名稱)選擇要復制到的工作表

[英]Selecting sheet to copy to based on cell value(Month name) from other sheet in other workbook

我有一個我自己無法解決的問題。 讓我解釋一下這個問題:我使用兩個工作簿:1. 表格 2.Logistics 2021,從 1 月到 12 月有 12 張。

工作簿 1中制作了一個表格來填寫一些信息。 完成此表格並打印后,我想將所有信息復制到工作簿 2的特定工作表上,然后將所有信息復制到一行中。 我想使用工作簿 1中單元格中的月份名稱,並將該月份名稱(單元格 F6)用於 select工作簿 2中的相應工作表

到目前為止,我使用以下代碼:

Sub Open_ExistingWorkbook()
'Open existing Workbook Logistics 2021 Workbook, specific sheet and then
'Writing Bol info to workbook Logistics 2021 Workbook and close it again
'Active Workbook is “Formsbook”

Dim BolNumber As String, DeliveryDate As Date, Time As String 

BolNumber = Range("K4")
DeliveryDate = Range("F6")
Time = Range("J29")

Workbooks.Open "C:\Users\BOL sheets\Logistics 2021 Workbook.xlsx"
Worksheets("April").Select
Worksheets("April").Range("A1").Select

If Worksheets("April").Range("A1").Offset(1, 0) <> "" Then
Worksheets("April").Range("A1").End(xlDown).Select
End If

ActiveCell.Offset(1, 0).Select
ActiveCell.Value = DeliveryDate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Time
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = BolNumber
ActiveCell.Offset(0, 1).Select

ActiveWorkbook.Close Savechanges:=True
End Sub

您不能像原始代碼那樣編寫值,它會減慢宏的執行速度,並且在結果不正確時難以跟蹤:

If Worksheets("April").Range("A1").Offset(1, 0) <> "" Then
Worksheets("April").Range("A1").End(xlDown).Select
End If

ActiveCell.Offset(1, 0).Select
ActiveCell.Value = DeliveryDate
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Time
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = BolNumber
ActiveCell.Offset(0, 1).Select

更好的解決方法應該是:

Dim lastrow As Long
    
If Worksheets("April").Range("A1").Offset(1, 0) <> "" Then
    lastrow = Worksheets("April").Range("A1").End(xlDown).row + 1
Else
    lastrow = 1
End If

Worksheets("April").Cells(lastrow, 1).Value = DeliveryDate
Worksheets("April").Cells(lastrow, 2).Value = Time
Worksheets("April").Cells(lastrow, 3).Value = BolNumber

暫無
暫無

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

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