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

Schleife

Schleife
15.03.2003 18:36:33
Charly
Hallo zusammen,
mein zweiter Versuch.
Ich hab schon mal versucht mein Problem zu beschreiben, ist aber ohne Resonanz im Archiv verschwunden.
Warscheinlich schlecht beschrieben. Jetzt versuch ich's mal anders.
Ich möchte eine Liste mit VBA erstellen.
Ausgangstabelle ist Sheets(4)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Schleife
15.03.2003 19:42:25
heinz
warum kriegt der charly keine antwort?

vorschlag (funkt aus jeder aktivierten tabelle - mindestens 5 blätter muss es geben in der mappe, sonst kein ziel):

Sub von_bis()
Dim start, zeilehier, zeiledort
zeilehier = 1: zeiledort = 2
Do Until IsEmpty(Cells(zeilehier, 1))
zeilehier = zeilehier + 1
start = Cells(zeilehier, 1)
Do While Cells(zeilehier, 10).Text = Cells(zeilehier + 1, 10).Text
If IsEmpty(Cells(zeilehier, 1)) Then Exit Sub
zeilehier = zeilehier + 1
Loop
Sheets(5).Cells(zeiledort, 1) = start
Sheets(5).Cells(zeiledort, 2) = Cells(zeilehier, 1)
Sheets(5).Cells(zeiledort, 3) = Cells(zeilehier, 10)
zeiledort = zeiledort + 1
Loop

gruß, heinz

Anzeige
Re: Schleife
15.03.2003 19:55:56
Klaus-Dieter
Hallo Charly,

versuche es mal mit diesem Makro:


Option Explicit
Sub werte_uebertragen()
Dim r As Integer
Dim z As Integer
Dim d As Integer
Dim dat(500) As Date
Dim bauvh(500) As String
z = 1
For r = 2 To Sheets(4).Range("A65536").End(xlUp).Row
If Len(Sheets(4).Cells(r, 10)) > 1 Then
If Sheets(4).Cells(r, 10) = Sheets(4).Cells(r - 1, 10) Then
d = d + 1
End If
If Sheets(4).Cells(r, 10) <> Sheets(4).Cells(r - 1, 10) Then
z = z + 1
Sheets(5).Cells(z, 1) = Sheets(4).Cells(r, 1)
Sheets(5).Cells(z, 3) = Sheets(4).Cells(r, 10)
End If
Sheets(5).Cells(z, 2) = Sheets(4).Cells(r + d - 1, 1)
d = 0
End If
Next r
End Sub

Code eingefügt mit: Excel Code Jeanie

Gruß Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite

Anzeige
Re: Schleife
15.03.2003 20:17:21
WernerB.
Hallo Charly,

wenn ich Deine Aufgabenstellung richtig verstanden habe, dann sollte dieses Makro funktionieren:

Viel Erfolg wünscht
WernerB.

Re: Schleife
15.03.2003 20:23:31
Charly
Hi Heinz,
du bist meine Rettung.
Vielen Dank für deinen Vorschlag.
Funkt nach geringfügiger Anpassung prima.
Nur eine Kleinigkeit noch.
Wie verhindere ich, dass der Makro mir auch
die Zeiträume einträgt, wo kein Bauvorhaben
angegeben ist?
Könntest du nochmal schauen?
Vielen Dank
Gruss Charly
Danke
15.03.2003 20:43:02
Charly
Hi Klaus-Dieter,
vielen Dank für Deine Mühe.
Dein Makro tut genau was ich wollte.
Jetzt haben gleich 3 für einen gearbeitet.
Das wollte ich nicht.
Du warst mir schon zum zweiten Mmal eine große Hilfe.
Schönes WE noch.
Gruss Charly

Anzeige
Re: Schleife
15.03.2003 20:47:33
heinz
furchtbarer bastel, aber bei mir funkts zumindest, ist auch blöd weil die leeren zellen (spalte j) scheints nicht wirklich leer sind kismet, hatt ich schon mal - deine änderungen betreffen vermutlich vor allem den startwert für zeilehier und so, oder? das musst jetzt natürlich auch wieder machen

Sub von_bis()
Dim start, zeilehier, zeiledort
zeilehier = 1: zeiledort = 2
Do Until IsEmpty(Cells(zeilehier, 1))
zeilehier = zeilehier + 1
start = Cells(zeilehier, 1)
Do While Cells(zeilehier, 10).Text = Cells(zeilehier + 1, 10).Text
If IsEmpty(Cells(zeilehier, 1)) Then Exit Sub
zeilehier = zeilehier + 1
Loop
If Cells(zeilehier, 10) <> "" And Cells(zeilehier, 10) <> " " Then
Sheets(5).Cells(zeiledort, 1) = start
Sheets(5).Cells(zeiledort, 2) = Cells(zeilehier, 1)
Sheets(5).Cells(zeiledort, 3) = Cells(zeilehier, 10)
Else: zeiledort = zeiledort - 1
End If
zeiledort = zeiledort + 1
Loop
End Sub

heinz


Anzeige
Re: Schleife
15.03.2003 20:55:09
Charly
Hi Werner,
vielen Dank.
Der Makro tut was er soll, bis auf ne Kleinigkeit.
Es werden auch die Zeiträume engetragen, wo kein
Bauvorhaben angegeben ist.
Wenn es nicht zu aufwändig ist könntes du nochmal nachschauen.
Es haben ja jetzt schon 3 für mich gearbeitet.
Das wollte ich so nicht.
Ich könnte dann aber die 3 Möglichkeiten vergleichen.
Vieleicht begreife ich es auch mal.
Schönes WE
Gruss Charly
Re: Schleife
15.03.2003 21:02:56
WernerB.
Hallo Charly,

bei meinen Tests wurden und werden keine Zeiträume eingetragen, wo kein Bauvorhaben eingetragen ist.
Möglicherweise beinhalten Deine Zellen in der Spalte "J" irgendwelche Leerzeichen oder Formeln, die nichts ausgeben.
Wenn diese Zellen tatsächlich "richtig" leer sind, so werden - zumindest bei mir - keine Zeiträume für fehlende Bauvorhaben eingetragen.
Vielleichst prüfst Du mal diese Zellen (Tabelle4, Spalte "J") auf Inhalte.

MfG WernerB.

Anzeige
Danke
15.03.2003 21:03:22
Charly
Hi Heinz,
danke für deine Geduld.
Die Zeilen in Spalte J sind wirklich leer.
Richtig, die Änderungen betreffen Start und Ziel.
Jetzt funkt es genau wie ich wollte.
Vielen Dank nochmal und ein schönes WE.
Gruss Charly
Re: Schleife
15.03.2003 21:22:14
Charly
Hi Werner,
du hast warscheinlich Recht.
Ich melde mich noch mal.
Gruss Charly
Re: Schleife
15.03.2003 21:49:54
Charly
Hi Werner,
ich hatte mir eine Beispieltab. gebastelt.
Warum auch immer, die Zellen waren nicht wiklich leer.
In der Originaldatei sind sie leer.
Es funkt prima.
Danke nochmal und ein schönes WE.
Gruss Charly

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige