我有3個工作簿的Excel - VBA切換工作簿
源工作簿
目標工作簿
參考工作簿 - (包含宏橫跨所有工作簿可見)
是否可以更改活動工作簿之間的切換(目標工作手冊)和(來源工作手冊,它是有效的工作手冊)。
Activate似乎沒有幫助我,我不知道如果這是一個錯誤或它是什麼。現在我已經停止了這一步。
該工作簿功能把我帶回到參考工作簿。
希望我的問題很明確。感謝你的幫助。
' My code is in a test macroworkbook
' I am having a workbook opened 1.xlsx
' Opening a workbook countrypricelist.xls
'running the code from
Dim sourcewb As Workbook
Dim targetWorkbook As Workbook
Dim filter As String
Dim filter2 As String
Dim rw As Long
Dim x As Range
Dim y As Range
Set sourcewb = ActiveWorkbook
Set x = sourcewb.Worksheets(1).Range("A:F")
Dim sourceSheet As Worksheet
Set sourceSheet = sourcewb.Worksheets(1)
MsgBox sourceSheet.Name
x.Select
MsgBox sourceSheet.Name
x.Select
MsgBox sourcewb.Name ' This gives me sourceworkbook name.
filter = "(*.xls),*.xls"
Caption = "Please Select an input file "
Application.ScreenUpdating = False
Filename = Application.GetOpenFilename(filter, , Caption)
Set targetWorkbook = Application.Workbooks.Open(Filename)
Set y = targetWorkbook.Worksheets(1).Range("A:F")
y.Select
Dim targetSheet As Worksheet
Set targetSheet = targetWorkbook.Worksheets(1)
MsgBox targetSheet.Name
Set targetWorkbook = ActiveWorkbook
MsgBox targetWorkbook.Name 'This gives me target workbook name
y.Select
sourcewb.Activate
MsgBox sourcewb.Name ' Source workbook becomes same as targeworkbook.
x.Select
MsgBox sourcewb.Name & " This is the source workbook "
MsgBox targetWorkbook.Name & " This is the target workbook "
With sourcewb.Worksheets(1)
For rw = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(rw, 3) = Application.VLookup(Cells(rw, 2).Value2, x, 3, False)
Cells(rw, 4) = Application.VLookup(Cells(rw, 2).Value2, x, 4, False)
Cells(rw, 5) = Application.VLookup(Cells(rw, 2).Value2, x, 5, False)
Next rw
End With
MsgBox "All required columns from source mapped to target file "
MsgBox "Trying to map from target to source "
Set sourcewb = ActiveWorkbook
MsgBox ActiveWorkbook.Name
Application.ScreenUpdating = False
所以如果我更改線路sourcewb =的ThisWorkbook我引用更改爲源代碼,工作簿,因爲它包含許多其他宏等活動這不是我想要的工作簿。希望這是代碼是好的。
不知道,也許是因爲在細胞丟失之前。請格式化您的問題,我不想通過它看現在的方式閱讀。即使找到你的問題是困難的... – Max
請編輯您的問題,並使用markdown代碼和引用文本塊。如果您無法學習如何使用該網站,那麼我們不會花費時間來解決您的問題。 – teylyn
我編輯了這個問題。希望這是可以理解的。道歉我的不良發音能力。 @Max –