348 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ist es möglich beim öffnen einer Excel Tabelle Automatisch die Spalte A zu leeren?

Mfg Tommy

15 Antworten

0 Punkte
Beantwortet von beverly_ Experte (3.5k Punkte)

Hi Tommy,

meinst du tatsächlich Tabellenblatt oder nicht doch Arbeitsmappe

Falls Tabellenblatt: soll die Spalte jedesmal beim Aktivieren des Tabellenblattes gelöscht werden? Soll das auf jedes Tabellenblatt angewendet werden oder nur ein bestimmtes?

Falls Arbeitsmappe: soll die Spalte jedesmal beim Öffnen der Arbeitsmappe gelöscht werden? Soll das auf jedes Tabellenblatt der Arbeitsmappe angewendet werden oder nur ein bestimmtes?

Bis später, Katin

0 Punkte
Beantwortet von
Hallo Katin,

Wenn ich eine Arbeitsmappe öffne z.b Test.csv sollte in der tabelle1 die Spalte A geleert werden.

VG Tommy
0 Punkte
Beantwortet von beverly_ Experte (3.5k Punkte)
Hi Tommy,

sorry, aber irgendwie verstehe ich nicht so richtig was du machen willst - es handelt sich also CSV-Datei und nicht um eine Excel-Arbeitsmappe, in der du Spalte A leeren willst? Oder ist bereits eine Excel-Arbeitsmappe geöffnet, in der du Spalte A leeren willst wenn du deine CSV-Datei öffnest?

Bis später, Karin
0 Punkte
Beantwortet von xlking Experte (1.9k Punkte)
Hallo ihr Beiden. Ich glaub schon, es verstanden zu haben. Man will also beim Öffnen einer CSV die Spalte A leeren. Eine CSV besteht nur aus einem Tabellenblatt. Nun kann aber eine CSV keine Makros speichern, da es sich um ein reines Textfile handelt. Die Makros müssen also entweder in der Persönlichen Arbeitsmappe oder in einem AddOn abgelegt werden. Dort muss dann eine Verknüpfung zu den Application-Events angelegt werden, die bei jedem Öffnen einer beliebigen Datei ausgeführt werden. Hier muss dann natürlich geprüft werden ob es sich um eine Datei vom Typ CSV oder gar eine mit bestimmten Namen handelt. Nur dann wird die Spalte A geleert. .ClearContents.

Daher auch von mir zwei Rückfragen. Geht es nur um eine bestimmte CSV oder um den Dateityp CSV im Allgemeinen? Oder soll das Makro auch bei anderen Dateien funktionieren? Und soll das Makro nur bei dir funktionieren oder sollen auch Andere Nutzer in den Genuss kommen?

Gruß Mr. K.
0 Punkte
Beantwortet von b25812 Mitglied (519 Punkte)
Hallo Mr.K.

also es wird aus einer test xlm mit einem makro die test,csv geöffnet.. Nun werden aus der Datei xlm 2 Spalten c+d in die csv in spalte A kopiert und dann wird die csv gespeichert.

Inhalt Beispiel der Csv:

Birne;1

Apfel;2

Banane:1

Wenn ich dann am nächsten Tag die Datei csv öffne soll die spalte A in der csv geleert werde um neue Daten zu speichern.

Man könnte in der Test.xlm im Marko zum öffnen der csv vielleicht auch da den Befehl zum löschen integrieren.

Und ja, es benutzen auch andere diese Dateien.

Gruß Tommy
0 Punkte
Beantwortet von xlking Experte (1.9k Punkte)
Hi Tommy,

Also wenn du schon eine xlsm mit einem MAkro hast, das die CSV öffnet und dort Daten updatet, dann kann man den entsprechenden Befehl zum leeren der CSV-Spalte-A auch dort hineinbringen. Zeige doch mal deinen Code oder zumindest den Teil, womit du die CSV öffnest. Dann bauen wir die benötigte Codezeile dort mit ein.

Von der Reihenfolge her müsste das Makro also folgendes machen: CSV öffnen, Spalte A leeren, Neue Daten in Spalte A schreiben, CSV speichern und schließen. Soweit korrekt?

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Mr.k
Ja das klingt gut. Ich werde Montag den VBA hier Posten. Die Daten die denn in die CSV sollen, variieren aber in der Länge. Mal d2:e15 oder d2:e29...
Aber gut erstmal vielen Dank.

Vg tommy
0 Punkte
Beantwortet von

Hallo Mr.k

das wäre mein VBA

Private Sub CommandButton2_Click()
Workbooks.Open Filename:= _
        "L:\Import.csv"
    Windows("Import.csv").Activate
    Columns("A:A").Select
    Selection.ClearContents
    Range("A1").Select
    Windows(" Mail.xlsm").Activate
    Range("C1").Select
End Sub

Leider setzt er bei der Unterstreichung ein Debuggen Fehler. 

Vielleicht könnt Ihr mir da helfen. 

Vg Tommy

0 Punkte
Beantwortet von xlking Experte (1.9k Punkte)
Hi Tommy,

Hmm, das ist zwar nicht grad der beste Code, aber er sollte eigentlich funktionieren. Wo hast du den denn stehen? Der muss in ein allgemeines Modul (Menü Einfügen -> Modul). Wenn du den stattdessen in einem Tabellenmodul stehen hast, kann ich mir den genannten Fehler vorstellen.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Mr.K.

Danke für den Hinweis schaue ich mir morgen mal an. Was wäre denn ein besserer Code?

Ich öffne die CSV mit einer Schalfläche aus der Mail.xlsm

Vg Tommy
...