2017-10-12 5 views
0

J'essaie de créer une macro qui permettra d'identifier et de PDF portefeuille de banquiers individuels. La macro va filtrer sur le nom du banquier (montrant seulement leur portefeuille) et sera PDF et avec le nom du banquier dans le fichier PDF. La macro s'exécute sans aucune erreur. Il est capable d'identifier le banquier, ajoute à une collection, et filtre à travers tous les banquiers. Cependant, il ne PDF rien. Je n'ai pas été en mesure d'identifier le problème. S'il vous plaît aider!VBA Excel au format PDF ne fonctionne pas en boucle

Mon code:

Sub CreatePDFs() 
' 
' CreatePDFs Macro 
' 

' Identify distinct banker names in Column E and store in a collection 
Dim BankerCollection As Collection 

Dim Banker As Variant 
Dim Rng As Range 
Dim Cell As Range 

Set Rng = Range("E5", Range("E5").End(xlDown)) 
Set BankerCollection = New Collection 

On Error Resume Next 
For Each Cell In Rng.Cells 
BankerCollection.Add Cell.Value, CStr(Cell.Value) 
Next Cell 

' Loop through each banker name in the collection 

For Each Banker In BankerCollection 

' Copy each banker name to cell B1 
Range("B1").Value = Banker 
Range("B1").Font.Bold = True 

' filter on the banker name, and PDF with banker name in document title 
Range("E4", Range("E4").End(xlDown)).AutoFilter Field:=1, Criteria1:=Banker, VisibleDropDown:=False 

ThisFile = Banker + " Portfolio" 
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisFile, OpenAfterPublish:=True 

Next Banker 

End Sub 
+2

"La macro s'exécute sans aucune erreur." Comment pouvez-vous dire qu'il n'y avait pas d'erreur lorsque vous masquez des erreurs avec l'instruction "On Error Resume Next"? Commentez cette ligne et voyez si une erreur se produit. – YowE3K

+0

Pourriez-vous commenter toutes les autres lignes à l'exception de l'Activesheet.ExportAs et essayer de zéro dans l'erreur. –

+0

Voyez-vous les fichiers PDF ouverts pendant que vous les créez? Peut-être que vous ne trouvez pas les fichiers PDF dans le bon dossier après leur création. – Jeeped

Répondre

-1

modifier cette ligne de votre code

ThisFile = Banker + " Portfolio" 

avec ce

ThisFile = Banker & " Portfolio" 

PS Il se trouve que vous ne devez pas faire ce changez votre code fonctionne bien sans le changement.

+1

DV pour deux raisons. 1) L'utilisateur n'a pas cette ligne de code dans la question. 2) La ligne 'ThisFile = Banker +" Portfolio "' est parfaitement valide. –

+0

@ScottHoltzman Merci pour la correction. Je me suis trompé, quand je l'ai couru pour la première fois, cela m'a donné une erreur sur cette ligne. –

+0

Dim ThisFile as String en haut? Fonctionne si j'ajoute cela dans – QHarr