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

verketten über FOR-Schleife

verketten über FOR-Schleife
18.12.2006 17:02:21
Anton
Hallo Leute,
ich möchte texte verketten, die in einer anderen Tabelle in verschiedenen Spalten nebeneinander stehen.
Ziel ist es Klammern und Schrägstriche in einem bestimmten Rhythmus einzufügen.
1. Anfang: " ( "
2. Sieben Spalten nebeneinander durch " / " getrennt,
3a. wenn noch weitere Spalten belegt sind, dann: " ) ( "
3b. sonst: " ) "
wenn 3a: dann wieder holt sich 2. und 3.
Das hier ist mal mein bisheriger Code:

Sub F_zusammenbau_gekündigte()
'Gekündigte Abos auf neuem Blatt zusammenbauen
'Dim ZusSchräger As Byte
'Dim ZusKlammer As Byte
Dim letzteZ As Long
Dim WkSh_G  As Worksheet
Dim WkSh_Z  As Worksheet
Sheets.Add
ActiveSheet.Name = "zusammenbau_gekündigte"
Set WkSh_G = Worksheets("gekündigte")                'Tabelle mit den zu ersetzten Daten
Set WkSh_Z = Worksheets("zusammenbau_gekündigte")    'Zusammenbau-Tabelle: für Gekündigte
' For ZusKlammer = 1 To 7 Step 7
' For ZusSchräger = 1 To 6 Step 1
letzteZ = WkSh_G.UsedRange.Rows.Count
WkSh_Z.Cells(letzteZ, 1) = " ( " & WkSh_G.Cells(letzteZ, 1) & " / " & WkSh_G.Cells(letzteZ, 2) & _
" / " & WkSh_G.Cells(letzteZ, 3) & " / " & WkSh_G.Cells(letzteZ, 4) & " / " & WkSh_G.Cells(letzteZ, 5) & _
" / " & WkSh_G.Cells(letzteZ, 6) & " / " & WkSh_G.Cells(letzteZ, 7) & " ) "
'muster:  ( 25 / 1471461.001 / Neue Umsatzsteuer-Praxis /  /  /  / in Ansicht gekündigt )
Next ZusSchräger
Next ZusKlammer
Sheets("gekündigte").Select
End Sub

Ihr könnt am "FOR" & "NEXT..." schon sehen, dass ich mir einbilde das über eine Schleife lösen zu wollen.
Nur reichen meine Kenntnisse nicht aus.
Könnt Ihr mir bitte weiterhelfen?
Mein Dank geht schon jetzt in Eure Richtung.
Servus,
Anton

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verketten über FOR-Schleife
18.12.2006 18:26:01
Fritz
Hallo Anton,
Dein Code erscheint mir etwas wirr.
Also, Du möchtest ein Tabellenblatt auslesen und Felder zusammenführen
Z.B. so:

Sub xxx()
Dim letzteZ As Long
Dim WkSh_G  As Worksheet
Dim WkSh_Z  As Worksheet
Dim I&, J&, X&
Dim Slash$, Zusammen$
Dim LetzteZeileWKSH_G&
Sheets.Add
ActiveSheet.Name = "zusammenbau_gekündigte"
Set WkSh_G = Worksheets("gekündigte")                'Tabelle mit den zu ersetzten Daten
Set WkSh_Z = Worksheets("zusammenbau_gekündigte")    'Zusammenbau-Tabelle: für Gekündigte
LetzteZeileWKSH_G = WkSh_G.UsedRange.Rows.Count
Slash = " / "
X = 1       'Startzeile in WKSH_Z
For I = 2 To LetzteZeileWKSH_G
Zusammen = " ( "
For J = 1 To 7
Zusammen = Zusammen & WkSh_G.Cells(I, J)
Zusammen = Zusammen & Slash
Next
Zusammen = Replace(Zusammen, "/", ")", Len(Zusammen) - 3)
WkSh_Z.Cells(X, 1) = Zusammen
X = X + 1
Next
End Sub

Anzeige
AW: verketten über FOR-Schleife
19.12.2006 10:58:06
Anton
Hallo Fritz,
jaja, Du hast recht.... was VBA angeht bin ich ein echtes Greenhorn.
Für Deinen Code bedanke ich deshalb sehr.
Es gibt da noch ein kleines Problem:
Nach dem "Replace" bleiben nur noch 4 Zeichen übrig.
Ich hab' schon in der Hilfe nachgeschlagen.... und keinen Fehler gefunden.
Kannst Du bitte nochmal drüber schauen?
Nochmals Danke,
Servus,
Anton
Problem gelöst
19.12.2006 12:18:38
Anton
Hallo Fritz,
ich habe den Replace - Befehl ausgetauscht:
' Ergebnis = Replace(Zusammen, "/", ")", (Len(Zusammen) - 3)) 'Ersetze den Schrägstrich gegen KlammerZu
Ergebnis = Left(Zusammen, (Len(Zusammen) - 2))
Ergebnis = Ergebnis & DSatzEnde
'DSatzEnde ist der Klammer-Zu-String
Servus,
Anton
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige