我是Excel宏中的新成員,並且沒有使用VB或任何語言的經驗。使用宏和其他表格的值將Excel工作表導出爲PDF
我有一個價目表片,在此我們有一個字段與我們的銷售人員的聯繫方式(郵件和手機)的下拉列表。
第二片包含具有名稱和的ContactInfo的表。
今天,我使用下拉菜單選擇的業務員,並出口到PDF到指定的目錄。
我期待用宏做這些事情導出爲PDF格式。我試過一些宏而沒有成功。我想使用名稱@Name保存在目錄中,並使用@ContactInfo替換價目表的特定字段。
我有:
Sub MAKEPDF()
Dim dvCell As Range
Dim inputRange As Range
Dim c As Range
Dim i As Long
'Which cell has data validation
Set dvCell = Sheets("NUEVA LISTA").Range("A3")
'Determine where validation comes from
Set inputRange = Evaluate(dvCell.Validation.Formula1)
arrVendedores = Array("Name1", "Name2", "Name3", "Name4", "Name5", "Name6", "Name7")
i = 1
'Begin our loop
Application.ScreenUpdating = False
For Each c In inputRange
dvCell = c.Value
ChDir "D:\Google Drive\Lista de Precios\temp\" & arrVendedores(i)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="(" & Format(Range("A4"), "yyyy-mm-dd") & ") Lista de precios.pdf"
'Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
i = i + 1
Next c
Application.ScreenUpdating = True
End Sub
這保存爲PDF完美,但如預期導致錯誤9(索引),陣列不工作,爲更好地從表1 @名稱使用當前數據。
任何人都可以幫助我達成目標嗎?
感謝和抱歉我的英語不好。
應該不是你的陣列中使用I = 0來迭代?如arrVenderoes默認情況下(0到6)不是(1到7)。你可以在編輯器的本地窗口中檢查它。 –
這可能是一個想法來代替I = 1,並像對於i = LBOUND(arrVendedores)爲UBound函數(arrVendedores)在我的迭代,如果你改變你是安全的陣列的方式。然後你可以使用你提到的表格更早地設置數組。 –
我試圖用我+ 1裏面arrVendedores但失敗,並且....我應該使用其他變量一樣II =然後我用II + 1裏面arrVendedores – Chiar15