Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro für alle Zellen einer Spalte ausfü

Makro für alle Zellen einer Spalte ausfü
12.01.2023 23:43:35
Meli
Hallo zusammen,
ich bin - wie man an meiner Frage wahrscheinlich schnell erkennen kann - absolute VBA-Anfängerin bzw. habe mich bisher etwas mit dem Recorder "durchgewurstelt". Für meinen Arbeitgeber soll ich eine Excel-Datei (mit 723 Datensätzen) erstellen, bei der nacheinander automatisch die Zellen A3 bis A725 angeklickt und jeweils in die Zelle B727 verlinkt werden -> Dazu habe ich (natürlich lediglich beispielhaft und nur für Zelle A3) "Auswahlneu" erstellt. "pdfausdruckbereich" soll dann anschließend dafür sorgen, dass die, zur Kundennummer gehörenden Daten, die in einem Diagramm dargestellt werden, als PDF-Datei in einem Ordner auf dem Desktop gespeichert werden. Letzteres funktioniert für A3 soweit auch ganz gut. Jetzt möchte ich das aber wie gesagt gerne automatisch für alle Zellen von A3 bis einschließlich A725 durchführen. Ziel soll also ein Ordner mit 723 PDF-Dateien (mit 723 verschiedenen Diagrammen für die jeweiligen Kundennummern sein). Hoffe das ist verständlich? Ich bin jetzt schon mal dahinter gekommen, dass ich den Inhalt der Zelle B727 ja wieder löschen muss bevor eine neue Zelle verlinkt werden kann (habe ich im Code auch ergänzt), aber wie gehe ich weiter vor? Habe schon sehr vieles versucht, aber bekomme immer irgendwelche Fehlermeldungen. Herzlichen Dank im Voraus für eure Hilfe!
LG Meli

Sub Auswahlneu2()
ActiveCell.Formula = "=A3"
Range("B727").Select
ActiveWindow.SmallScroll Down:=18
End Sub


Sub pdfausdruckbereich()
Range("A726:C745").Select
ActiveSheet.PageSetup.PrintArea = "$A$726:$C$745"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\g.müller\Desktop\Diagramme\" & Cells(727, 2) & (".pdf"), Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Range("B727").Clear
End Sub


Sub kleineSchleife()
Auswahlneu2
pdfausdruckbereich
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für alle Zellen einer Spalte ausfü
13.01.2023 07:06:30
MCO
Moin, Meli!
Ich hoffe, ich hab es so richtig verstanden, denn es geht aus deinem Code nicht zwingend alles hervor.
Probier es mal aus.

Sub kleineSchleife()
Dim cl As Range
Application.ScreenUpdating = False 'Bildschirm nicht aktualisieren
ActiveSheet.PageSetup.PrintArea = "$A$726:$C$745" 'Druckbereich festllegen 'nicht in der Schleife
For Each cl In Range("A3:A725") 'durchläüft deinen Bereich
Range("B727").Value = cl.Value 'setzt den Wert
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\g.müller\Desktop\Diagramme\" & Cells(727, 2) & (".pdf"), _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False 'Ausdruck
Next cl
Application.ScreenUpdating = True 'wieder einschalten, unnötig, wenn es ganz zum Schluss steht.
End Sub
Gruß, MCO
Anzeige
AW: Makro für alle Zellen einer Spalte ausfü
13.01.2023 10:20:45
Meli
Oh - vielen lieben Dank für deine schnelle Antwort :)! Da ich heute (krank) Daheim bin, habe ich es (allerdings auf meinem Macbook mit Office für Mac) versucht. Da kam jetzt immer "Laufzeitfehler 1004". Weiß nicht, ob es vielleicht am (vorübergehenden) Speicherpfad für die PDF-Dateien auf dem Mac liegt? Hab' es schon mit Doppelpunkt etc. versucht. Ich werde es auf jeden Fall gleich ausprobieren, wenn ich wieder im Geschäft bin. Liebe Grüße Meli
AW: Makro für alle Zellen einer Spalte ausfü
13.01.2023 10:44:05
Daniel
HI
ja kann am Mac liegen.
Windwos verwendet den Backslash \ als Trennzeichen der Ordner,
Mac meines Wissens nach den Slash /
das müsstest du dann im Filename berücksichtigen.
die der Pfad prinzipiell geschrieben werden muss, kannst du dir im Direktfenster anschauen mit:
?ActiveWorkbook.Path
entsprechend dem musst du dann den FileName anpassen.
wenn man es automatisieren will, kann man den aktuellen Pfadtrenner auch abfragen mit Application.PathSeperator
beispielsweise so:

dim FN as string
FN  = "C:\Users\g.müller\Desktop\Diagramme\"
FN = Replace(FN, "\", Application.PathSeperator)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=FN & Cells(727, 2) & (".pdf"),
Gruß Daniel
Anzeige
AW: Makro für alle Zellen einer Spalte ausfü
14.01.2023 13:00:57
Meli
Lieber MCO, lieber Daniel,
ihr seid die Besten! War gerade im Büro und es hat wunderbar funktioniert :-). Tausend Dank!!!
LG Meli

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige