Live-Forum - Die aktuellen Beiträge
Datum
Titel
15.07.2024 16:00:57
15.07.2024 15:41:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Spalten nach Wert suchen

VBA: Spalten nach Wert suchen
12.09.2017 10:31:51
Bernd
Hallo zusammen,
benötige mal Hilfe.
Und zwar geht es um folgendes: Suche in Tabelle "Top" in den Spalten B,D,F,H,J,L nach dem am häufigsten vorkommen Wert, dann den Zweithäufigsten und den Dritthäufigsten. Alles als VBA-Code.
Komme leider nicht weiter, habe schon mehrere Formelversuche gemacht z.B. mit KGrösste usw.
Lieben Gruß
Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Spalten nach Wert suchen
12.09.2017 11:32:26
JoNNy
Hallo Bernd,
also erstmal die Frage suchst du in allen Spalten zusammen den häufigsten Wert oder für jede einzelne Spalte den häufigsten?
Gruß JoNNy
AW: VBA: Spalten nach Wert suchen
12.09.2017 11:51:07
Bernd
Hallo JoNNy,
Danke für deine schnelle Hilfe.
Es gilt immer für alle Spalten
Gruß Bernd
AW: VBA: Spalten nach Wert suchen
12.09.2017 12:25:41
JoNNy
Ok also meine Idee wäre:
Alle Werte in ein Array einlesen und dann quasi in ne Schleife und da dann checken lassen wie oft ein Wert vorkommt. Das wäre das einzige was mir gerade dazu einfällt. Sowas könnte ich schon basteln
ich weiß nur nicht ob das die beste Methode ist.
Gruß JoNNy
AW: VBA: Spalten nach Wert suchen
12.09.2017 13:06:40
Bernd
Hallo JoNNy,
egal ob besser oder nicht, wichtig ist es funktioniert!
Versuch es mal!
Gruß Bernd
Anzeige
AW: VBA: Spalten nach Wert suchen
12.09.2017 13:28:27
Rudi
Hallo,
sowas?
Sub BK()
Dim vArr, i As Long, j As Long, objCount As Object, oObj
Dim arrOut(1 To 3, 1 To 2), iMax As Integer, strOut As String
vArr = Cells(1, 1).CurrentRegion
Set objCount = CreateObject("scripting.dictionary")
For i = 2 To UBound(vArr)
For j = 2 To 12 Step 2
objCount(vArr(i, j)) = objCount(vArr(i, j)) + 1
Next j
Next i
For i = 1 To 3
iMax = WorksheetFunction.Max(objCount.items)
For Each oObj In objCount
If objCount(oObj) = iMax Then
arrOut(i, 1) = iMax & "x:  "
arrOut(i, 2) = arrOut(i, 2) & "; " & oObj
objCount.Remove oObj
End If
Next oObj
Next i
For i = 1 To 3
strOut = strOut & arrOut(i, 1) & Mid(arrOut(i, 2), 3) & vbLf
Next i
MsgBox strOut
End Sub

Gruß
Rudi
Anzeige
AW: VBA: Spalten nach Wert suchen
12.09.2017 14:11:13
Bernd
Hallo Rudi,
Danke für deine schnelle Hilfe. Es funktioniert, aber... Hatte mich etwas falsch ausgedrückt. Die Häufigkeit bezieht sich auf Zeile 2 der Spalten B,D,F,H,J,L. Das Ergebnis soll in Zelle N2 (Rang1) stehen. Ebenso soll mit jeder Zeile verfahren werden. D.h. Häufigkeit Zeile 3 usw. bis letzte Zeile mit Inhalt.
Gruß Bernd
siehe Modalwert() owt
13.09.2017 09:44:50
Rudi

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige