Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1512to1516
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

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

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
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!

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige