L'exportation de Quelques Feuilles de Classeur Excel au format PDF
Je suis en train de travailler sur l'écriture d'un code VBA pour l'exportation de certaines feuilles dans excel pour un même fichier PDF. J'ai plusieurs feuilles de graphique dans mon fichier excel chaque dont le nom se termine par "(nom)_Chart".
Je veux exporter toutes les feuilles avec des noms se terminant wioth graphique vers un fichier PDF.
Voici le code que j'suis en train d'écrire.
Sub FindWS()
'look if it at least contains part of the name
Dim s As Worksheet
Dim strPath As String
strPath = ActiveWorkbook.Path & "\"
For Each s In ThisWorkbook.Sheets
If InStr(1, s.Name, Chart) Then
s.Activate
ActiveSheet.ExportAsFixedFormat xlTypePDF, strPath & s.Name & ".pdf"
Exit Sub
End If
Next s
End Sub
Ce code n'est pas limting exporter uniquement les feuilles de graphique, mais l'exportation de tout ton classeur. Quelqu'un peut m'aider avec figurint hors whats est manquant dans mon code.
Merci!
CODE MODIFIÉ:
Sub FindWS()
'look if it at least contains part of the name
Dim s As Worksheet
Dim strPath As String
strPath = ActiveWorkbook.Path & "\"
For Each s In ThisWorkbook.Worksheets
If InStr(1, s.Name, "Chart") = 0 Then
' Hide the sheet so it is not exported as PDF
s.Visible = False
End If
Next s
With ActiveWorkbook
.ExportAsFixedFormat xlTypePDF, strPath & "TEST.pdf"
End With
End Sub
Qu'advient-il si vous cachez vos indésirables feuilles dans la boucle ci-dessus, alors il suffit d'exporter une fois que les fichiers PDF?
Merci pour votre réponse. J'ai plus de 300 feuilles de calcul excel et de cacher toutes les feuilles dans ces prendrait trop de temps. Alors, est-il une manière que je cam modifier le code?
Vous masquer les feuilles dans votre code, exporter, puis de l'afficher. Je vais poster un peu de code pour vous d'essayer
S'il vous plaît. Je vous remercie beaucoup. J'ai été vraiment du mal à obtenir le code de droit.
Le code est en fait juste des boucles jusqu'à ce qu'il trouve le premier nommé feuille puis exportations de l'ensemble du lot, peu importe.
Merci pour votre réponse. J'ai plus de 300 feuilles de calcul excel et de cacher toutes les feuilles dans ces prendrait trop de temps. Alors, est-il une manière que je cam modifier le code?
Vous masquer les feuilles dans votre code, exporter, puis de l'afficher. Je vais poster un peu de code pour vous d'essayer
S'il vous plaît. Je vous remercie beaucoup. J'ai été vraiment du mal à obtenir le code de droit.
Le code est en fait juste des boucles jusqu'à ce qu'il trouve le premier nommé feuille puis exportations de l'ensemble du lot, peu importe.
OriginalL'auteur datacentric | 2013-02-18
Vous devez vous connecter pour publier un commentaire.
Je suis surpris que votre code est exécuté dans la première place 🙂 Vous devriez avoir effectivement eu une erreur
run time error '13', type mismatch
Sheets
etWorksheets
sont deux choses différentes dans ExcelLa
Worksheets
collection est une collection de tous les objets de Feuille de calcul dans le spécifiée ou classeur actif. Chaque objet de Feuille de calcul représente une feuille de calcul. Alors que laSheets
de collecte, d'autre part, non seulement une collection de feuilles de calcul, mais aussi d'autres types de feuilles à inclure les feuilles de Graphique, de macro Excel 4.0 feuilles et Excel 5.0 feuilles boîte de dialogue.Donc, si vous déclarez votre objet
Worksheet
Puis vous assurer qu'en bouclant vous parcourez la bonne collection
et pas
d'autre, vous obtiendrez un
run time error '13', type mismatch
De SUIVI (sur la Base des Observations)
Si vous voulez vérifier si la feuille se termine avec "Graphique", puis
instr()
n'est pas de la bonne façon. Vous devez utiliserRight()
Aussi, j'ai deux feuilles de calcul et les feuilles de graphique dans excel. Je veux seulement exporter les feuilles de graphique.
Ok avant que je vous donne le code, pouvez-vous s'il vous plaît confirmer 2 choses pour moi 1) Vous souhaitez exporter les feuilles de graphique qui
end
dans "Graphique" 2) Vous voulez toutes les cartes en 1 PDF ou de séparer les fichiers pdf?Siddharth Déroute: sur la Base de l'ensemble des réponses à ma question, j'ai finalement compris le code. Masquer tous les inutiles sheets ("Feuilles de travail"), puis l'exporter classeur (ce qui reste de feuilles de graphique) dans un seul fichier PDF. J'ai ajoutées dans le code corrigé dans ma question comme une refernce pour d'autres personnes. Je vous remercie beaucoup. 🙂 En apprécier tous de votre aide!
OriginalL'auteur Siddharth Rout
Ce code permet de regarder à travers toutes les feuilles. Si le nom de la feuille ne correspond pas il va se cacher. Lorsque c'est fini, qu'elle exporte tous visibles feuilles en un seul PDF. Assurez-vous que vous n'enregistrez pas le fichier Excel par la suite ou les feuilles ne restent cachés.
Bien sûr, ce code n'est pas testé, donc si vous avez des questions, demandez à dos (ou tenter de le résoudre de lui-même que vous pouvez apprendre quelque chose)
OH! Je ne savais pas que votre code n'a pas fait le travail avant - permettez-moi de résoudre le problème.
OriginalL'auteur Nick.McDermaid