Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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
Inhaltsverzeichnis

Verschachtelte Schlefe um Werte zu trennen

Verschachtelte Schlefe um Werte zu trennen
08.11.2017 22:11:34
Squirrel
Hallo zusammen. Ich konnte diesem Forum schon viel gutes entnehmen. Danke dafür!
Jetzt stehe ich aber in einer Sache auf dem Schlauch resp. hänge in einer Schleife fest ;)
Ich benutze eine For Schleife um Werte aus einer Zelle zu trennen und in einzelne Zellen zu schreiben. Das funktioniert so weit so gut. Jedoch müsste der 6 -10te Wert und der 11 - 15te Wert an einem anderen Ort gespeichert werden als die Werte 1 -5. Irgendwie krieg ich das nicht hin.
Hier der funktionierende Code der aber alles untereinander schreibt:
For a = LBound(strTeilstring) To UBound(strTeilstring)
'** Array-Elemente nacheinander eintragen
Worksheets("Empfänger").Cells(lngZ, 4).Value = Trim(strTeilstring(a))
'** Zeilenzähler erhöhen
lngZ = lngZ + 1
Next a

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Da du nicht die eigentliche Aufgabe zeigst, ...
09.11.2017 00:51:30
Luc:-?
…was ggf einfachere oder gar FmlLösungen (ggf mit UDF) zuließe, Squirrel,
kann dir auch nur beim genannten Teilproblem geholfen wdn. Baue in die Schleife eine Abfrage des Lauf­Variablen­Wertes ein und mache davon den Speicherort abhängig (ggf mit 2.Zeilenzähler bzw Rücksetzen des einen):
If a < LBound(strTeilstring) + 5 Then
' 1.SchreibStrecke
Else: lngZ = 'anfangswert
' 2.SchreibStrecke
End If
lngZ = lngZ + 1

Gruß, Luc :-?
„Die Intelligenz ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Da du nicht die eigentliche Aufgabe zeigst, ...
09.11.2017 06:25:54
Squirrel
Das kann so nicht funktionieren...
Das Problem ist das in der Else Schlaufe zu Beginn IngZ immer zurückgesetzt wird und somit die 6te Zahl jeweils überschrieben wird. Ich poste bisher extra nicht mehr code weil es sonst zu unübersichtich wird.
Dim lngZ As Long
Dim IngB As Long
Dim strTeilstring() As String
Dim strTrennzeichen As String
'** Vorgaben definieren
Set wsakt = Worksheets("Eingaben").Range("AX20")
lngZ = 13 'Startzeile
IngB = 23
strTrennzeichen = "/" 'Trennzeichen festlegen z.B. Komma(,) Semikollon(;) Bindestrich(-) etc.
For a = LBound(strTeilstring) To UBound(strTeilstring)
If a '** Array-Elemente nacheinander eintragen
Worksheets("Empfänger").Cells(lngZ, 4).Value = Trim(strTeilstring(a))
End If
If a >= LBound(strTeilstring) + 5 Then
'** Array-Elemente nacheinander eintragen
Worksheets("Empfänger").Cells(lngB, 4).Value = Trim(strTeilstring(a))
End If
lngZ = lngZ + 1
lngB = lngB + 1
Next a
Ich hatte gestern schon eine ähnliche Lösung und jetzt habe ich deine noch ein wenig umgebaut. Problem hier ist, dass ich in der Fett markierten zeile einen Laufzeitfehler 1004 erhalte. Dabei habe ich die zweite Variable IngB gleich definiert wie die erste nur mit anderer Startnummer..
Anzeige
lngB & IngB sind 2 Variablen, so gewollt ? oT
09.11.2017 09:32:28
Matthias
AW: lngB & IngB sind 2 Variablen, so gewollt ? oT
09.11.2017 17:30:08
Squirrel
@Matthias L:
Nicht unbedingt.. aber mir scheint dies der vernünftigste Weg zur Lösung da IngZ die Startzeile der ersten Portion (erste 5 werte) ist und IngB die Startzeile der zweiten Portion...
Ich verstehe nur nicht warum ich diesen Laufzeitfehler bekomme..

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige