Vergleich von Werten

Bild

Betrifft: Vergleich von Werten
von: Jan
Geschrieben am: 28.02.2005 16:51:34
Hallo!
Ich habe ein Problem und zwar möchte ich aus mehreren Zeilen Werte mit einer anderen Tabelle vergleichen. Generell geht das ja mit Excel, aber da ich sehr viele Werte mit einander vergleichen muß, wird die Datenmenge mit Excelschritten zu groß.
Ich weiß, dass dies mit einer VBA-Funktion ebenfalls möglich ist, um die Datenmengen in der Exceldatei gering zu halten. Meine VBA Kenntnisse sind jeoch zu gering um so etwas zu programmieren.
Kann mir vielleicht jemand bei derProgrammierung behilflich sein?
Beispiel dazu, wenn ein Wert (Bereich C3:G3) aus Zeile 3 gleich einem Wert der Spalte E aus Tabelle2 ist, soll "E" in Feld H3 ausgegeben werden. Es sollen Spalte A:E überprüft werden, ob die Werte dort vorhanden sind. Die letzte Spalte (E) hat die höchste Priorität, dann die Spalte (D) usw. bis zur Spalte (A).
Dazu noch ne Beispieltabelle:
https://www.herber.de/bbs/user/18939.xls
Danke für die Mühe!
Jan

Bild

Betrifft: AW: Vergleich von Werten
von: Beni
Geschrieben am: 28.02.2005 20:07:55
Hallo Jan,
Gruss Beni

Sub Jan()
Dim z, s, c As Integer
With Sheets("Tabelle1")
lz = .Cells(Rows.Count, 3).End(xlUp).Row
    For z = 4 To lz 'Zeile 4 - letzte Zeile in Tabelle1
        For s = 7 To 3 Step -1 'Spalte 7 - 3 in Tabelle1
            If Not .Cells(z, s) = "" Then
            Wert = .Cells(z, s)
                For c = 5 To 1 Step -1 'Spalte 5 - 1 in Tabelle2
                Set w = Sheets("Tabelle2").Columns(c).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
                If Not w Is Nothing Then
                .Cells(z, 8) = Chr(c + 64)
                Exit For
                End If
                Next c
            If Not w Is Nothing Then Exit For
            End If
            Next s
    Next z
End With
End Sub

Bild

Betrifft: AW: Vergleich von Werten
von: Jan
Geschrieben am: 01.03.2005 09:00:34
Hi Beni,
Danke das funktioniert, jedoch ist ein Schönheitsfehler drin und zwar wenn ich z.B. in Zelle G7 R 22 eintrage und ich das ganze neu berechnen lasse gibt er mir als Kat. A aus, ob wohl in der Zeile R 30 mit Kat. C am höchsten eingestuft ist.
Jan
Bild

Betrifft: AW: Vergleich von Werten
von: Beni
Geschrieben am: 01.03.2005 09:55:20
Hallo Jan,
Gruss Beni

Sub Jan()
Dim z, s, c As Integer
With Sheets("Tabelle1")
lz = .Cells(Rows.Count, 3).End(xlUp).Row
    For z = 4 To lz 'Zeile 4 - letzte Zeile in Tabelle1
        For s = 7 To 3 Step -1 'Spalte 7 - 3 in Tabelle1
            If Not .Cells(z, s) = "" Then
            Wert = .Cells(z, s)
                For c = 5 To 1 Step -1 'Spalte 5 - 1 in Tabelle2
                Set w = Sheets("Tabelle2").Columns(c).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
                If Not w Is Nothing Then
                If .Cells(z, 8) < Chr(c + 64) Then .Cells(z, 8) = Chr(c + 64)
                Exit For
                End If
                Next c
            End If
            Next s
    Next z
End With
End Sub

Bild

Betrifft: AW: Vergleich von Werten
von: Jan
Geschrieben am: 01.03.2005 10:02:25
Hallo Beni!
Das ist perfekt!
Ich danke Dir vielmals!
Jan
Bild

Betrifft: AW: Vergleich von Werten
von: Jan
Geschrieben am: 02.03.2005 09:09:12
Hi Beni,
ich hab noch mal eine Frage zum Programmablauf und zwar wo muß ich etwas im Programm ändern, damit mir nicht mehr A,B,C ausgegeben wird, sonder die erste Zeile auf dem Zweiten Tabellenblatt, wo ich Statt A z.B. einen Namen eingebe.
Gruß
Jan
Bild

Betrifft: AW: Vergleich von Werten
von: Jan
Geschrieben am: 03.03.2005 09:59:35
Hallo Beni,
weiss nicht, ob Du meine Antworten bzw. Fragen gelesen hast, deshalb noch einmal eine Antwort. Bitte schau sie noch mal durch. Wäre superwenn Du mir helfen könntes.
Gruß
Jan
Bild

Betrifft: AW: Vergleich von Werten
von: Beni
Geschrieben am: 03.03.2005 14:50:35
Hallo Jan,
Gruss Beni


Sub Jan()
Dim z, s, c As Integer
With Sheets("Tabelle1")
lz = .Cells(Rows.Count, 3).End(xlUp).Row
    For z = 4 To lz 'Zeile 4 - letzte Zeile in Tabelle1
        For s = 7 To 3 Step -1 'Spalte 7 - 3 in Tabelle1
            If Not .Cells(z, s) = "" Then
            Wert = .Cells(z, s)
                For c = 5 To 1 Step -1 'Spalte 5 - 1 in Tabelle2
                Set w = Sheets("Tabelle2").Columns(c).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
                If Not w Is Nothing Then
                If .Cells(z, 8) < Chr(c + 64) Then .Cells(z, 8) = Sheets("Tabelle2").Cells(1, c)
                Exit For
                End If
                Next c
            End If
            Next s
    Next z
End With
End Sub

Bild

Betrifft: AW: Vergleich von Werten
von: Jan
Geschrieben am: 03.03.2005 15:36:24
Danke!!!
Gruß
Jan
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Vergleich von Werten "