Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

VBA - Spalte löschen vor dem Speichern

VBA - Spalte löschen vor dem Speichern
30.08.2021 14:02:32
Lars
Hallo zusammen,
ich bin neu hier... und wie man sich vorstellen kann auf der Suche nach einer Lösung! :-)
Ich bin kein VBA-Experte und erweitere im Moment ein bestehendes VBA Projekt.
So nun zu meinem "Problem":
- Das bestehende Projekt macht aus einem Tabellenblatt mehrere neue Tabelllenblätte mit bestimmter Formatierung.
- ich habe nun das automatische Speichern der einzelnen Tabellenblätter als *.csv File implementiert (was auch (oh Wunder) funktioniert).
- die einzelnen Tabellenblätter bleiben nach dem Speichern in der Excel-Fil vorhanden (nichts wird gelöscht, etc.). Dies ist auch so gewollt und soll so bleiben.
- Sodele... nun die Frage: kann ich die ganze "Spalte A" VOR dem Speichern in die *.csv File löschen?
- es soll quasi im "Tabellenblatt 2" die Spalte A bestehen bleiben, in der *.csv File sollen aber in Spalte A die Werte aus Spalte B des "Tabellenblatt 2" stehen...
Phu... ich bin schlecht im Erklären... hoffe aber das es vlt. einer bverstanden hat und mir helfen kann wie ich das per VBA lösen könnte!
Vielen Dank schon im Voraus für eure Geduld mit mir! :-)

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 14:12:02
Oberschlumpf
Hi Lars
der Befehl zum Löschen ganzer Spalten würde so aussehen:

Sheets(?).Columns(1).Delete
Die ? MUSST DU durch den richtigen Namen des Tabellenblatts ersetzen, in dem die Spalte gelöscht werden soll, z Bsp Sheets("Tabelle1").
Sheets(?) könntest du auch weglassen. Dann würde aber immer im jeweils angezeigten Tabellenblatt die Spalte gelöscht werden.
Wird also z Bsp gerade "Tabelle2" angezeigt und du startest den obigen Befehl, würde in "Tabelle2" die Spalte gelöscht werden - aber du wolltest ja in "Tabelle1" die Spalte löschen!
Daher ist es also empfehlenswert im Code immer genau anzugeben, wo,wann,was,warum passieren soll.
Konnte ich helfen?
Wenn nein, zeig bitte per Upload eine oder mehrere Bsp-Dateien mit Bsp-Daten, so, dass mit Hilfe der Bsp-Dateien dein Problem erkennbar ist.
Ciao
Thorsten
Anzeige
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 14:23:01
Lars
Hallo Thorsten,
vielen Dnak für deine schnelle Antwort.
So ganz ist noch nicht das was ich möchte!
denn es soll in dem zu speichernden Tabellenblatt die Spalte A weiterhin existieren, NUR in der *.csv File die ich aus dem Tabellenblatt generiere soll die Spalte A gelöscht sein!
So sieht das zu speichernde Tabellenblatt aus:
Userbild
so soll der Inhalt der *.csv aussehen:
Userbild
Anzeige
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 14:37:58
UweD
Hallo
Da wir nicht sehen wie dein Gesamtcode aussieht nur eine ungefähre Lösung.
in deinem Code...
nachdem die CSV erzeugt hast..
ActiveWorkbook.Sheets(1).Columns(1).Delete
einbauen.
LG UweD
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 15:09:27
Lars
Hallo Uwe,
danke für diene Antwort.
mit deiner Codezeile würde ich ja die Spalte A in der geöffneten Excelfile im Aktiven Tabellenblatt löschen.
Allerdings sollte die Spalte in der gespeicherten *.csv file gelöscht werden (wenn löschen dann ohne die Datei zu öffnen)!
Mein Code für das Speichern sieht so aus:

AnzSheets = ActiveWorkbook.Worksheets.Count
For i = 2 To AnzSheets
'Name aktives Tebellenblatt speichern
SheetName = Sheets(i).Name
'Datei speichern
Worksheets(SheetName).Select
Worksheets(SheetName).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs filename:=Dateipfad_csv & "\" & SheetName, FileFormat:=xlCSV, CreateBackup:=False, local:=True   'CurDir
ActiveWorkbook.Close False
Application.DisplayAlerts = True
Next i

Anzeige
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 15:54:57
Lars
Hallo Uwe,
deine Programmschnipsel war doch der ERichtige.
Wusste nur nicht wo genau setzen... aber habe es hinbekommen!

For i = 2 To AnzSheets
'Name aktives Tebellenblatt speichern
SheetName = Sheets(i).Name
'Datei speichern
Worksheets(SheetName).Select
Worksheets(SheetName).Copy
Application.DisplayAlerts = False
ActiveWorkbook.Sheets(1).Columns(1).Delete
ActiveWorkbook.SaveAs filename:=Dateipfad_csv & "\" & SheetName, FileFormat:=xlCSV, CreateBackup:=False, local:=True   'CurDir
ActiveWorkbook.Close False
Application.DisplayAlerts = True
Next i
Somit gelöst und Danke....
Anzeige
Danke für die Rückmeldung (mit w. Text)
30.08.2021 16:29:58
UweD
Hallo
prima
ja, durch das "Worksheets(SheetName).Copy"
wird das Neue ja das Aktive. und bei CSV gibt es immer nur ein Blatt.
LG Uwe
AW: VBA - Spalte löschen vor dem Speichern
30.08.2021 15:15:30
Oberschlumpf
Hi Lars,
hast du meine Bitte um die Bsp-Datei(en) per Upload übersehen, wenn ich nicht helfen kann?
Ciao
Thorsten

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige