Anzeige
Archiv - Navigation
1748to1752
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

Zeilen vergleichen und benennen

Zeilen vergleichen und benennen
05.04.2020 21:19:35
Justus
Hallo!
Ich möchte in meiner Tabelle alle Zeilen vergleichen.
Und alle Zeilen, in denen die Einträge in den Zellen übereinstimmen, sollen automatisch z.B mit Typ 001 bezeichnet werden. Andere Zeilen, in denen wiederum die Einträge in den Zellen übereinstimmen, aber in einer anderen Konfiguration, sollen dann mit Typ 002 bezeichnet werden.
Ist so etwas mit VBA-Skript möglich?
Ich stelle mir das Ergebnis so vor:
https://www.herber.de/bbs/user/136431.xlsx
Gruß Justus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen vergleichen und benennen
05.04.2020 23:25:34
Barbara
Hi Justus.
Folgendes Makro sollte funktionieren.
Tabellenaufbau:
Wertebereich: Da wo die "x" stehen (kann auch was anderes sein, Zahlen, Worte, oder gar nichts).
Jede Zeile und jede Spalte des Wertebereichs müssen beschriftet sein. Daran erkennt das Makro den Wertebereich.
Startzelle C2 = Erste Wertezelle, also da, wo das erste x stehen könnte
Falls andere Zelle, dann bitte im Makro ausbessern. Links davon müssen mindestens 2 Spalten sein. Eine für die Zeilenbeschriftung, eine für den Typ (=Ergebnis des Makros).
Links von dieser Startzelle abwärts: Beschriftung der Zeilen (1, 2, 3, ...), danach Leerzelle
Oberhalb von dieser Zelle nach rechts: Beschriftung der Spalten (Attribut 1, Attribut 2,...), danach muss Leerzelle sein.
Sub Typen()
Dim a As Range, b As Range, t
Dim i As Long, j As Long, r As Long
Set a = Range("C2")         'Hier Startzelle
Set b = Range(a, Cells(a.Offset(, -1).End(xlDown).Row, a.Offset(-1).End(xlToRight).Column))
a(1, -1).Resize(b.Rows.Count, 1).ClearContents
ReDim t(1 To b.Rows.Count)
For i = 1 To b.Rows.Count
t(i) = Join(Application.Index(b.Rows(i).Value, 1, 0), ",")
For j = 1 To i - 1
If t(i) = t(j) Then
a(i, -1) = a(j, -1)
Exit For
End If
Next j
If i = j Then
r = r + 1
a(i, -1) = r
End If
Next i
End Sub
Hilft das?
LGB
Anzeige
AW: Zeilen vergleichen und benennen
06.04.2020 13:31:49
Niclaus
Tolle Lösung. Viel gelernt!
Grüsse Niclaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige