Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: grössten variablen Wert in einer Schleife finden

grössten variablen Wert in einer Schleife finden
20.09.2016 08:44:59
Ratlos
Hallo!
Es soll die maximale Anzahl von Kommas in einer Zelle in einer Spalte ermittelt werden:
Wie macht man dass die Variable icountSep (Anzahl Kommas) den Wert 4 hat?
so sieht die Spalte aus:
Überschrift1
a, B
aaa
aa, bbb
a, b, d
aa, bbbb, c, ddd
Hier ein erster Versuch, ist ein Teil von einem grossen Makro. Funktioniert auch alles, nur nicht dass die maximale Kommaanzahl ausgegeben wird.
Wie ermittelt man diese? Vermutlich ja mit Array, aber da habe ich so gar keine Ahnung von.
https://www.herber.de/bbs/user/108282.xlsm
Sub AnzahlTrennzeichen()
Dim i As Integer
Dim k As Integer
Dim sTest As String
Dim oRange As Range
Dim sSeparator As String
Dim iCountSep As Integer
sSeparator = ","
Set oRange = Tabelle1.Columns(1)
'mit dieser Schleife werden die Zellen einer Spalte durchlaufen
For k = 2 To Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
sTest = oRange.Cells(k, 1)
'mit dieser Schleife wird der Textinhalt der Zelle durchlaufen
'es wird nach der Anzahl der Kommas gesucht und in die Variable  _
iCountSep geschrieben
For i = 1 To Len(sTest)
If Mid(sTest, i, 1) = sSeparator Then iCountSep = iCountSep  _
+ 1
Next i
'wenn die Schleife fertig ist möchte ich als variable iCountSep den Wert  _
4 haben (in diesem Beispiel sind es maximal 4 Wörter (von Kommas getrennt) in einer Zelle in der Spalte)
Next k
'                        'Nun werden so viele neue Spalten eingefügt wie es Wörter in der "grö _
ssten" Zelle gibt
'                        For i = 1 To iCountSep 'Anzahl Kommas
'                            oRange.Offset(0, i).EntireColumn.Insert
'                        Next i
End Sub
Viele Grüsse
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: grössten variablen Wert in einer Schleife finden
20.09.2016 09:17:48
Daniel
Hi
Lege die Variable iMaxSep an, als Long oder Integer.
Nachdem du die Anzahl def Seperatoren für eine Zelle ermittelt hast, fügst du dann die Zeile ein:
If iCountSep > iMaxSep then iMaxSep = iCountSep
Nach der Schleife über alle Zellen steht dann in iMaxSep die maximale Anzahl aus den durchsuchten Zellen.
Gruß Daniel
Anzeige
grössten variablen Wert in einer Schleife finden
20.09.2016 09:21:39
baschti007
Hei
so

x = UBound(Split(sTest, ",")) + 1
x gibt die Anzahl an Wörtern an oder eher gesagt wie oft eine Trennung vorkommt
gruß Basti
AW: grössten variablen Wert in einer Schleife finden
20.09.2016 09:32:49
UweD
Hallo
2 Schleifen weniger...

Sub AnzahlTrennzeichen()
Dim iMAx As Integer
Dim k As Integer
Dim sTest As String
Dim oRange As Range
Dim sSeparator As String
Dim iCountSep As Integer
sSeparator = ","
Set oRange = Tabelle1.Columns(1)
'mit dieser Schleife werden die Zellen einer Spalte durchlaufen
For k = 2 To Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
sTest = oRange.Cells(k, 1)
iCountSep = Len(sTest) - Len(Replace(sTest, sSeparator, ""))
If iCountSep > iMAx Then iMAx = iCountSep
Next
Tabelle1.Columns(2).Resize(1, iMAx).EntireColumn.Insert
End Sub
Gruß UweD
Anzeige
Danke!
20.09.2016 17:57:41
Ratlos
Hallo!
Herzlichen Dank für Eure Hilfe! Super Lösung. Wäre ich selber nie drauf gekommen
Viele Grüsse!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige