Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1444to1448
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

Abfrage VBA

Abfrage VBA
14.09.2015 15:30:12
Jens
Hallo zusammen,
ich bin der Jens und versuche mich ein wenig in Excel VBA. Leider habe ich ein kleines Problem, mit dem ich nicht recht weiter komme.
Ich möchte eine Datei auf Knopfdruck über den Butto "Speichern" in einem bestimmten Ordner als PDF ablegen. Der Dateiname wird aus der Zelle "C3" genommen.
Wenn ich jetzt auf "Speichern" klicke möchte ich, dass Excel vorher Prüft, ob die Datei schon vorhanden ist. Ist das der fall soll ein Fenster mit einem Warnhinwei geöffnet werden.
So sieht es bissher bei mir aus:
Sub PDFAblegen()
' PDFAbfrage Makro
If Dir("C:\Users\DFPJLU\Desktop\Range("C3").pdf")  Then
MsgBox "Datei bereits vorhanden"
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\DFPJLU\Desktop\" & Range("C3"), Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End If
End Sub
Speichern als PDF ist kein Problem. Das Problem ist die Abfrage vorher. Leider komme ich hier nicht weiter.
Es gibt immer die Fehlermeldung "Listentrennzeichen"
Hoffe auf Hilfe ;-)
Grüße
Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage VBA
14.09.2015 16:06:13
Rudi
Hallo,
If Dir("C:\Users\DFPJLU\Desktop\" & Range("C3") &".pdf") "" Then
Gruß
Rudi

AW: Abfrage VBA
15.09.2015 09:29:33
Jens
Danke für die Antwort! Es klappt jetzt super.
Kann mir trotzdem jemand erklären wie das richtig zu verstehen ist?
Warum muss ich nach """& Range("C3")""" den Aufbau so machen? &".pdf") "" Then
Also warum &".pdf" ? Vielleicht kann mir das ja jemand verständlich erklären.
Grüße
Jens

AW: Abfrage VBA
15.09.2015 15:09:49
Matthias
Hallo Jens,
ganz einfach: Alles was innerhalb von Anführungszeichen steht wird als Text wahrgenommen. Um also deinen Namen mit der Range-Anweisung zu holen, muss dieser außerhalb der Anführungszeichen stehen.
Text-Segmente und Anweisungen müssen durch ein "&" verbunden werden. In deinem Beispiel werden drei Teilstücke verbunden: Der Pfad & Name & Endung ("Text" & Range-Anweisung & "Text").
Der letzte Teil mit der Endung ist nur notwendig wenn dieser noch nicht in deinem Namen (Zelle C3) enthalten ist.
lg Matthias

Anzeige
AW: Abfrage VBA
16.09.2015 08:27:08
Jens
Hallo Matthias,
danke für die Antwort und die verständliche Erklärung.
Grüße
Jens

AW: Abfrage VBA
17.09.2015 08:44:33
Jens
Hallo zusammen,
nun habe ich wieder eine Frage.
Ich würde gerne aus einer Excel Datei einen Bereich kopieren und diesen in eine andere Excel Datei einfügen an einer bestimmten Stelle.
Dieses soll über einen Button geschehen.
Der Name der ersten Excel Datei ist immer anders. Ich habe es mir so vorgestellt:
In das Feld "C3" gebe ich eine Nummer ein (z.B 3001717). Wenn ich jetzt den Button drücke sucht Excel in einem vorgegebenen Verzeichnis die Datei mit dem Namen 3001717.xlsm und Kopiert aus dieser den Bereich (A1:H60).
Dieses soll nun in der zweiten Datei eingefügt werden an der Stelle "C3"
Dieses möchte ich dann auch mit anderen Dateien machen. Alles soll in einer Excel zusammen laufen.
Am Ende möchte ich dann ein PDF erstellen und dieses Ablegen.

Anzeige
AW: Abfrage VBA
17.09.2015 11:30:38
matthias
Hallo Jens,
bitte benutze die Suchfunktion des Forums. Wie man per Makro eine andere Datei öffnet und dann dort etwas rauskopiert ist schon hundertfach behandelt worden.
Den Namen kannst du als String aus Pfad und Zellenwert zusammensetzen:
Datei = "C:\Desktop\Test" & Range("C3").Value
lg Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige