HERBERS Excel-Forum - das Archiv
Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo,
Habe folgendes Problem: Ich muss eine Excel Datei in eine DB importieren. Die Datei hat rund 40 Sheets, Spalten A bis H verwendet in allen Sheets (Art, Jahr, ID-Nummer etc.), sowie den eigentlichen Einträgen pro Zeile.
Nicht jede Zeile hat in jeder Spalte Einträge, da bspw. das Jahr unbekannt ist. Es gibt also unbefüllte Zellen in den befüllten Zeilen. Die Einträge pro Sheet variieren zwischen 2-3 bis zu ca. 60 Einträgen. Soweit so gut.
Nun wurden die Sheets vermutlich per Copy Paste kopiert, aus einer Vorlage, die wohl mal rund 3400 Zeilen umfasste. Diese Zeilen waren wohl mal befüllt, entsprechend übernimmt es mir beim Import in die DB alle 3400 Zeilen, auch wenn nur 5 Zeilen tatsächlich befüllt sind. Was kann ich da machen?
Ich habe schon ziemlich rumgesucht, aber keine passende Antwort gefunden.
Vielen Dank für Tipps

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
drück mal auf STRG+Ende, markiere von da aus die Zeilen bis zur ersten Datenzeile und drück die Entf-Taste. Nach dem Speichern der Mappe sollten die Leerzeilen wirklich leer sein. Das kannst du auch am Scrollbalken rechts sehen.
Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Daniel

Hi
Lösche mal alle Zeilen unterhalb der Daten, dh von der ersten leeren Zeile bis zur letzten Zeile auf dem Blatt und speichere und schliesse die Datei dann nochmal vor dem nächsten Import.
Gruß Daniel

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo,
Danke für die Inputs. Das ist die manuelle Variante, d.h. somit muss ich das für jedes einzelne Sheet machen, richtig?
Gruss Manuel

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
wenn du eine Spalte hast in der garantiert immer Daten bist zum Ende der Liste stehen, kann ich dir auch eine kleine Löschroutine schreiben.
Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo Nepumuk,
das mit der Routine wär super, da ich vermute, dass die restlichen noch zu importierenden Excel-Files ähnlich aufgebaut sind.
Zudem bin ich aus Prinzip neugierig, da ich bereits einen "VBA-Experten" in meinem Umfeld zu Rate gezogen habe, der es allerdings nur ansatzweise lösen konnte.
Danke im Voraus.
Gruss Manuel

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
teste mal mit einer Kopie der Mappe. Nach dem Speichern sollten die leeren Bereich tatsächlich leer sein. Prüfen kannst du das in dem du mal STRG+Ende drückst.
Option Explicit

Public Sub ClearEmptyRange()
    Dim objCell As Range, objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        With objWorksheet
            Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
                SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
            .Range(.Cells(1, objCell.Column + 1), .Cells(.Rows.Count, .Columns.Count)).Clear
            Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
                SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
            .Range(.Cells(objCell.Row + 1, 1), .Cells(Rows.Count, .Columns.Count)).Clear
        End With
    Next
    Set objCell = Nothing
End Sub

Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo Nepumuk,
Tiptop!! Funktioniert tadellos...!! Vielen lieben Dank!
Gruss Manuel

Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo,
Habe folgendes Problem: Ich muss eine Excel Datei in eine DB importieren. Die Datei hat rund 40 Sheets, Spalten A bis H verwendet in allen Sheets (Art, Jahr, ID-Nummer etc.), sowie den eigentlichen Einträgen pro Zeile.
Nicht jede Zeile hat in jeder Spalte Einträge, da bspw. das Jahr unbekannt ist. Es gibt also unbefüllte Zellen in den befüllten Zeilen. Die Einträge pro Sheet variieren zwischen 2-3 bis zu ca. 60 Einträgen. Soweit so gut.
Nun wurden die Sheets vermutlich per Copy Paste kopiert, aus einer Vorlage, die wohl mal rund 3400 Zeilen umfasste. Diese Zeilen waren wohl mal befüllt, entsprechend übernimmt es mir beim Import in die DB alle 3400 Zeilen, auch wenn nur 5 Zeilen tatsächlich befüllt sind. Was kann ich da machen?
Ich habe schon ziemlich rumgesucht, aber keine passende Antwort gefunden.
Vielen Dank für Tipps

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
drück mal auf STRG+Ende, markiere von da aus die Zeilen bis zur ersten Datenzeile und drück die Entf-Taste. Nach dem Speichern der Mappe sollten die Leerzeilen wirklich leer sein. Das kannst du auch am Scrollbalken rechts sehen.
Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Daniel

Hi
Lösche mal alle Zeilen unterhalb der Daten, dh von der ersten leeren Zeile bis zur letzten Zeile auf dem Blatt und speichere und schliesse die Datei dann nochmal vor dem nächsten Import.
Gruß Daniel

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo,
Danke für die Inputs. Das ist die manuelle Variante, d.h. somit muss ich das für jedes einzelne Sheet machen, richtig?
Gruss Manuel

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
wenn du eine Spalte hast in der garantiert immer Daten bist zum Ende der Liste stehen, kann ich dir auch eine kleine Löschroutine schreiben.
Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo Nepumuk,
das mit der Routine wär super, da ich vermute, dass die restlichen noch zu importierenden Excel-Files ähnlich aufgebaut sind.
Zudem bin ich aus Prinzip neugierig, da ich bereits einen "VBA-Experten" in meinem Umfeld zu Rate gezogen habe, der es allerdings nur ansatzweise lösen konnte.
Danke im Voraus.
Gruss Manuel

AW: Leerzeilen Import trotz fehlendem Inhalt
Nepumuk

Hallo,
teste mal mit einer Kopie der Mappe. Nach dem Speichern sollten die leeren Bereich tatsächlich leer sein. Prüfen kannst du das in dem du mal STRG+Ende drückst.
Option Explicit

Public Sub ClearEmptyRange()
    Dim objCell As Range, objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        With objWorksheet
            Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
                SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
            .Range(.Cells(1, objCell.Column + 1), .Cells(.Rows.Count, .Columns.Count)).Clear
            Set objCell = .Cells.Find(What:="*", LookIn:=xlValues, Lookat:=xlWhole, _
                SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
            .Range(.Cells(objCell.Row + 1, 1), .Cells(Rows.Count, .Columns.Count)).Clear
        End With
    Next
    Set objCell = Nothing
End Sub

Gruß
Nepumuk

AW: Leerzeilen Import trotz fehlendem Inhalt
Manuel

Hallo Nepumuk,
Tiptop!! Funktioniert tadellos...!! Vielen lieben Dank!
Gruss Manuel

Bewerten Sie hier bitte das Excel-Portal