我正在制定一個標準的「書籍1,工作表1」工作簿,將在我完成時重命名。Excel VBA在多個工作簿中設置變量
我有一個主工作簿,此工作簿中的工作表將包含由用戶鍵入的信息。信息有3部分:用戶ID,圖片位置,保存位置。
這是我目前正在工作的代碼。
Sub Export_To_PDF()
Dim WBName, filepath, Filepth As String
WBName = ActiveWorkbook.Name
Filepth = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("B4").Value
filepath = Filepth & "\" & WBName & ".pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=filepath, _
Quality:=xlQualityMinimum, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
Sub Macro1()
Sheets("Balancing Summary").Select
Range("E24").Select
ActiveCell.FormulaR1C1 = "A1111"
Range("E26").Select
ActiveSheet.Pictures.Insert("C:\Users\a1111\Music\ThePicture.jpg").Select
ChDir "C:\Users\a1111\Documents\Done"
Call Export_To_PDF
End Sub
Sub DoAll()
Workbooks("Book1.xlsx").Activate
Dim wbkX As Workbook
For Each wbkX In Application.Workbooks
wbkX.Activate
Call Macro1
Next wbkX
End Sub
該代碼需要在單元格B4中鍵入的地址並將文檔保存到那裏。我需要爲圖片做同樣的事情。圖片的地址將在Book1,Sheet 1,B3中輸入。我需要下面的一行沒有地址,但是在宏運行時引用該書和表中的特定單元格。
ActiveSheet.Pictures.Insert("C:\Users\a1111\Music\ThePicture.jpg").Select
將會打開多個工作簿和工作表,因此必須指定正確的工作簿和工作表。
我需要它同樣做下面的線
Filepth = Workbooks("Book1.xlsx").Sheets("Sheet1").Range("B4").Value
請參見[如何避免使用選擇](https://stackoverflow.com/questions/10714251/how-to-avoid -use-select-in-excel-vba-macros) - 你永遠不應該有理由使用'Select'或者'Activate',除非它純粹是爲了像在特定表單上結束子的用戶界面原因。刪除它們會使你更清楚地觸發潛艇,更容易調試和維護,並且更加健壯。 – Wolfie
嘗試將'Usr'和'lct'聲明爲'Range'和'Pctr'作爲'String'。 –
你究竟是什麼*卡在*上?什麼是錯誤?這是什麼代碼沒有做你想要它做的?請更清楚地知道哪些代碼在哪個工作簿中... – Wolfie