Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Exel spalten löschen und leere Spalten mit 0 füllen





Frage

Exel spalten löschen und leere Spalten mit 0 füllen Hallo zusammen, könnt ihr mir vielleicht helfen? Ich möchte mit Access eine täglich aktualisierte Exel Tabelle importieren. Bei der Exel Tabelle müssen aber voher einige Spalten gelöscht werden. Die restliche Spalten enthalten leere Zellen die mit 0 gefüllt werden müssen. Würde mich reisig freuen, wenn ihr mir da weiter helfen könntet! Greetings Sandra

Antwort 1 von Beverly

Hi Sandra,

ich weiß leider nicht, welche Spalten du löschen möchtest, also habe ich mal einfach Spalten A:C und Spalte E angenommen

Sub sandra()
    Dim loZeile As Long
    Dim inSpalte As Integer
    With Sheets("Tabelle1")
        .Range("A:C", "E:E").Delete
        For inSpalte = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Column
            For loZeile = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
                If .Cells(loZeile, inSpalte) = "" Then .Cells(loZeile, inSpalte) = 0
            Next loZeile
        Next inSpalte
    End With
End Sub


Bis später,
Karin

Antwort 2 von Sandrak

Hallo Karin,

danke erstmal für dein schnelles Antwort :-)
Ich habe den Code auf einer Test Tabelle ausprobiert und es hat wunderbar geklappt.

Eine Frage noch gibt es den eine möglichkeit die Tabelle danach sofort nach access zu importieren???

MfG

Sandra K

Antwort 3 von Beverly

Hi Sandra,

mit dem Export aus Excel nach Access habe ich mich noch nicht beschäftigt. Aber soweit ich weiß, ist es günstiger, den Datenimport aus Access heraus via Code zu steuern. Vielleicht hilft dir dabei ja die Forumssuche weiter.

Bi später,
Karin

Antwort 4 von Sandrak

Hallo Karin,

ich wollte heute mehrer Spalte löschen, und zwar (A,C-J,N-P,S,U,W,Z-AB,AD-AF),dazu habe ich in die Zeile
.Range("A:A", "C:J", "N:P", "S:S", "U:U", "W:W", "Z:AB", "AD:AF").Delete
eingegeben.
Er gibt mir aber eine Fehler Meldung aus.
Laufzeitfehler 1004 Anwendungs oder Objektdefinierter Fehler

Antwort 5 von Sandrak

Wenn ich das Programm von exel aus starte erschient "Falsche Anzahl an Argumenten oder Ungültige Zuweisung zu einer Eigenschaft"

Antwort 6 von rainberg

Hallo Sandra,

so sollte es gehen

.Range("A:A,C:J,N:P,S:S,U:U,W:W,Z:AB,AD:AF").Delete

Gruß
Rainer

Antwort 7 von Sandrak

Hallo Rainer,

ich habe dieses befehl auf einer kleineren Tabellen benutz und es hat wunderbar geklappt.
Lieder funktioniert das nicht auf einer Tabelle mit ca.7000 Zeilen.
Hast du da vielleicht eine Idee??

lg
Sandra K

Antwort 8 von rainberg

Hallo Sandra,

an der Zeilenmenge dürfte das nicht liegen.

Muss ein Fehler im Code sein, den ich leider Mangels zugehöriger Tabelle nicht testen kann.
Mein Vorschlag ist nur als Einzelbefehl, ohne With-Anweisung, getestet.

Nur noch ein Hinweis: für eine Helfer sind immer konkrete Infos wichtig, "funktioniert nicht" reicht da nicht aus.

Gruß
Rainer

Antwort 9 von Beverly

Hi Sandra,

an der Zeilenanzahl liegt es auf keinen Fall, da ja die Spalten insgesamt gelöscht werden. Reiner's Code funktioniert auch bei mir problemlos - auch mit 40.000 gefüllten Zeilen und auch in einer With-Anweisung.

Bis später,
Karin