Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leerzeilen mit Offset (!?) einfügen

Leerzeilen mit Offset (!?) einfügen
22.04.2003 09:27:36
Esther
Hallo zusammen! Habe ein Problem und hoffe, dass mir jemand hier vielleicht einen Tip geben kann. Folgendes Problem: Ich importiere eine Textdatei in Excel über ein VBA Makro. Im ersten Tabellenblatt werden die Rohdaten abgelegt, im zweiten eine formatierte Tabelle ausgegeben. Das Makro soll in der Formatierung Leerzeilen (in dem 2. Blatt) einfügen, wenn sich ein Wert ändert.
Wenn ich nun eine Leerzeile bei Wertänderung einfüge, beginnt Excel nach der Leerzeile eben 1 Zeile in den Rohdaten ebenfalls zu überspringen. Es wird also in dem Sinne 1 Wert aus den Rohdaten einfach "vergessen". Hat jemand eine Idee hierzu!?! Funktioniert das vielleicht über Offset!?!

Danke im voraus!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Leerzeilen mit Offset (!?) einfügen
22.04.2003 09:32:55
andre

hallo esther,
ohne code wird das wohl nichts ...
poste mal den part, wo die daten von dem ersten in das zweite blatt übertragen werden.
gruss andre

Re: Leerzeilen mit Offset (!?) einfügen
22.04.2003 09:56:05
Esther

Hm, OK. Hier der Ausschnitt um den es sich handelt:


Sub Tabelle_umkopieren(x, y, Testspalte)

Sheets.Add After:=Worksheets(Sheets.Count)

' erste Position der Daten
Zeile = x
Spalte = y

' Anzahl der Zeilen (= Datensätze) anhand der ersten (=y) Spalte ermitteln
For Zeilen = x To 65356

If IsEmpty(Worksheets(1).Cells(Zeilen, Testspalte)) Then Exit For

Next Zeilen

' Datensätze umkopieren
For Spalte = y To 10

Gliederung = x

For Zeile = x To Zeilen


If Not IsEmpty(Worksheets(1).Cells(Zeile, y)) And Spalte <> Testspalte Then Worksheets(1).Cells(Zeile, Spalte).Copy Destination:=Worksheets(2).Cells(Zeile - 1, Spalte - 3)

If Worksheets(1).Cells(Zeile, 3) <> Worksheets(1).Cells(Zeile + 1, 3) Then

Worksheets(Sheets.Count).Cells(Zeile, 1) = "Summe:"
Worksheets(Sheets.Count).Cells(Zeile, 1).HorizontalAlignment = xlRight
Worksheets(Sheets.Count).Cells(Zeile, 2).Formula = "=SUM(B" & Gliederung & ":B" & Zeile - 1 & ")"
Worksheets(Sheets.Count).Cells(Zeile, 3) = ""
Worksheets(Sheets.Count).Cells(Zeile, 4) = ""

Gliederung = Zeile

End If

Next Zeile

Next Spalte


Anzeige
Re: Leerzeilen mit Offset (!?) einfügen
22.04.2003 10:32:17
andre

hallo esther,
du kannst einen zähler einbauen, der die leerzeilen zählt.
den zählst du dann zur zeile dazu - beim destination...
eventuell so:

If Worksheets(1).Cells(Zeile, 3) <> Worksheets(1).Cells(Zeile + 1, 3) Then
zähler=zähler+1
Worksheets(Sheets.Count).Cells(Zeile, 1) = "Summe:"
Worksheets(Sheets.Count).Cells(Zeile, 1).HorizontalAlignment = xlRight
Worksheets(Sheets.Count).Cells(Zeile, 2).Formula = "=SUM(B" & Gliederung & ":B" & Zeile - 1 & ")"
Worksheets(Sheets.Count).Cells(Zeile, 3) = ""
Worksheets(Sheets.Count).Cells(Zeile, 4) = ""

Gliederung = Zeile

End If

If Not IsEmpty(Worksheets(1).Cells(Zeile, y)) And Spalte <> Testspalte Then Worksheets(1).Cells(Zeile, Spalte).Copy Destination:=Worksheets(2).Cells(Zeile+Zähler - 1, Spalte - 3)

wenns nicht reicht, schicke mal die mappe.

gruss andre

Anzeige
Re: Leerzeilen mit Offset (!?) einfügen
22.04.2003 12:57:51
Martin Beck

Hallo Esther,

ich habe das jetzt nicht alles nachvollzogen, nehme aber an, Du durchläufst die Zeilen von oben nach unten. Dann tritt nämlich das beschriebene Problem häufig auf. Lösungsmöglichkeit: Schleife von unten nach oben durchlaufen, also statt

For x = 1 to 100

nimmst Du

For x = 100 to 1 step -1

Gruß
Martin Beck


Re: Leerzeilen mit Offset (!?) einfügen
23.04.2003 08:37:19
Esther

Hallo zusammen! Vielen Dank für die Tipps, im Ansatz konnte ich sie auch verwenden. Im Endeffekt habe ich nun die Berechnungen und Formatierungen unabhängig von dem Kopiervorgang eingebaut (mit einem zusätzlichen Zähler, wie Andre vorgeschlagen hat) und nun funktioniert es auch so, wie ich mir das vorgestellt hatte!
Merci beaucoup!

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige