Ganze tabelle in .csv Speichern

Mitglied: xenonblue

xenonblue (Level 1) - Jetzt verbinden

20.04.2021, aktualisiert 13:39 Uhr, 412 Aufrufe, 6 Kommentare

Hallo,

ich nutze den VBA Code, der hier besprochen wurde, um aus einer Tabelle mit verschiedenen Blättern einzelne .csv Dateien zu erzeugen.

Funktioniert reibungslos...
Nur wenn ich Abbrechen drücke, dann kommt der Fehler "Typen unverträglich"...
Wenn ich hingegen nichts eingebe und nur OK drücke endet das Makro wie gewünscht.

Ich habe alles probiert (was das Netz zur Verfügung stellt), komme aber mit dieser Application.Inputbox nicht weiter...
Mit einer normalen Inputbox funktioniert zwar das Abbrechen, aber der Rest geht dann nicht mehr

Hier nochmal mein Code:


Was muss ich anpassen? Der Code arbeitet so perfekt nur das ist unschön, weil die Tabelle verschiedene Nutzer haben soll und ich eine Fehlermeldung dann unpassend finde.

Vielen Dank
VG
xenon
Mitglied: Ghent74
20.04.2021, aktualisiert um 14:16 Uhr
Versuch mal:

Dim F_Name As String = ""

Du dimensionierst zwar das String es sollte aber faktisch noch NULL sein, damit erzeugst du dann eine Unverträglichkeit.

EDIT:
Blödsinn, hab' eben nicht genau hingeschaut.
Warum machst du das hier:
If F_Name = "" Then Exit Sub
F_Name wurde bis dahin doch noch gar nicht gesetzt.
Du fragst F_Path in der Inputbox ab.

Und du solltest
F_Path = Application.InputBox(prompt := "Pfad angeben", type := 2)
schreiben, damit klar ist, dass ein Text erwartet wird.

https://docs.microsoft.com/de-de/office/vba/api/excel.application.inputb ...
Bitte warten ..
Mitglied: xenonblue
20.04.2021 um 14:18 Uhr
Hallo,

danke für deine Antwort...!

Ich habe es einfach nur aus dem benannten Betrag kopiert.

Aber (dachte ich mir nämlich auch - nach meinem laienhaften Verständnis)

If F_Path = "" Then Exit Sub

habe ich auch schon probiert, selbes Ergebnis.

Dim F_Name As String = ""

an welcher Stelle im Code soll ich das einfügen?

VG
Bitte warten ..
Mitglied: Ghent74
20.04.2021 um 14:29 Uhr
Ganz oben, wo du es ja schon hast:

Dim F_Name As String = ""
Dim F_Path As String = ""

Damit du, wenn du abbrechen drückst, zumindest die Variable gefüllt hast.
Dann sollte

If F_Path = "" Then Exit Sub

zumindest die Funktion abbrechen.

Unterm Strich ist das aber alles unschön, denn du bist von einer korrekten Eingabe abhängig.
Du hast keinerlei Prüfung, ob der Pfad korrekt ist.
Bitte warten ..
Mitglied: Ghent74
LÖSUNG 20.04.2021 um 14:37 Uhr
Besser wäre:


Bitte warten ..
Mitglied: xenonblue
20.04.2021 um 16:06 Uhr
@Ghent74

absolut genial.... Vielen, vielen Dank.

Das ist jetzt 1000x besser als ich es haben wollte...

Perfekt...

Viele Grüße
xenon
Bitte warten ..
Mitglied: warranty
20.04.2021, aktualisiert um 16:42 Uhr
Nur noch nachträglich zur Info falls es noch interessiert:
Das Ergebnis einer InputBox ist False wenn auf Abbrechen geklickt wird, kein leerer String ;-) face-wink

Gruß w.
Bitte warten ..
Heiß diskutierte Inhalte
Datenschutz
FAX ist nicht mehr Datenschutzkonform
brammerVor 1 TagInformationDatenschutz52 Kommentare

Hallo, jetzt sollte es jeder begreifen FAX ist nicht mehr Datenschutzkonform brammer

Humor (lol)
Na, kann euer Toaster auch schon WLAN?
ITlerin95Vor 1 TagAllgemeinHumor (lol)16 Kommentare

Also ich frag mich ja selbst echt oft, ob wirkliche alle technischen Neuerungen auch wirklich notwendig sind. Hintergrund ist, ich brauch einen neuen Toaster. ...

Netzwerkgrundlagen
Statische Route auf UTM
gelöst Ex0r2k16Vor 14 StundenFrageNetzwerkgrundlagen31 Kommentare

Moin! Ich habe an meiner Sophos UTM an einem physischen Interface einen Switch angeschlossen. Dieser läuft im Netz 10.1.1.0/24. Ich kann von meinem aktuellen ...

Windows Update
Keine Updates zum Mai-Patchday über WSUS?
gelöst CoreknabeVor 1 TagFrageWindows Update12 Kommentare

Moin, wir laden über unseren WSUS die Windows Updates herunter (Server 2012R2). Jetzt stelle ich gerade verwundert fest, dass es Stand jetzt (19:45 Uhr) ...

Exchange Server
Sicherheitsupdates für Exchange Server 11. Mai 2021
kgbornVor 1 TagInformationExchange Server4 Kommentare

Sicherheitsupdates für Exchange Server 11. Mai 2021 Technet-Beitrag Meine Zusammenstellung: Sicherheitsupdates (KB5003435) für Microsoft Exchange Server (11. Mai 2021)

Exchange Server
Office 365 ohne lokalen Exchange
RicoPausBVor 1 TagFrageExchange Server8 Kommentare

Moin zusammen wir sind erst vor kurzem ins Office 365 eingestiegen und hatten vorher auch keinen Exchange Server im Einsatz. Ein Hybrid-Setup liegt also ...

SAN, NAS, DAS
Synology-NAS DS1813+: Lebensdauer des Gerätes?
OrmensonVor 1 TagFrageSAN, NAS, DAS10 Kommentare

Hallo Forum! In unserer Firma nutzen wir ein Synology NAS DS1813+ als zentraler Datenspeicherort. Konfiguriert ist er als RAID mit Ausfallsicherheit einer Platte. Die ...

Microsoft Office
Weiterleitung bestimmter Emails während Urlaubszeit
gelöst imebroVor 1 TagFrageMicrosoft Office11 Kommentare

Hallo, verschiedene Rechnungen werden an meine Email-Adresse gesendet. Daher habe ich vor einiger Zeit eine Outlook-Regel in meinem Outlook-Postfach erstellt, die automatisch Emails mit ...