Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vergleich erweitern

Vergleich erweitern
29.09.2006 10:59:05
Sebastian
Hallo zusammen,
fast schon Wochenende und schönes Wetter. Fast perfekt. Leider hab ich noch ein kleines Problem. Hoffe auf eure Hilfe.
Ich möchte zwei Spalten vergleichen (die auf unterschiedlichen Tabellenblättern stehen) und wenn übereinstimmende Werte gefunden werden, möchte ich die Zellen der jeweiligen Zeilen auf Gleichheit überpüfen. Die Tabellen sind gleich aufgebaut, allerdings stehen die zu suchenden Werte meistens nicht an der gleichen Stelle (soll heissen, sie stehen an unterschiedlichen Stellen in der jeweiligen Spalte).Mein Problem ist jetzt, dass ich nicht weiss, wie ich die entsprechenden Zeilen der gefundenen Werte anspreche (wie krieg ich die beiden entsprechenden Zeilen jeweils in ein Array?) und dann die Zellen der Zeilen miteinander vergleiche.
Danke für eure spitzen Hilfe. Grüße Sebastian
Hier mal das Makro dass ich bis jetzt hab:
Public

Sub Vergleich_Change_Serial_Array()
Dim arrA As Variant
Dim rng As Range
Dim lastRow1 As Long, lastRow2 As Long
Dim n As Integer, i As Integer, j As Integer
Dim WertA As String, WertB As String
lastRow1 = IIf(Sheets("Change").Range("F65536") <> "", 65536, _
Sheets("Change").Range("F65536").End(xlUp).Row)
lastRow2 = IIf(Sheets("Calc").Range("F65536") <> "", 65536, _
Sheets("Calc").Range("F65536").End(xlUp).Row)
arrA = Sheets("Change").Range("F21:F" & lastRow1)
For n = 1 To UBound(arrA, 1)
Set rng = Sheets("Calc").Range("F21:F" & lastRow2).Find(arrA(n, 1))
'Daten aus Tabelle1 (NomiList) in Tabelle2 (New) suchen und
'wenn nicht gefunden in Tabelle3 (Change) eintragen.
If Not rng Is Nothing Then
End If
Next n
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Vergleich erweitern
29.09.2006 11:15:36
Frederic
Hi Sebastian,
versuch mal die Datei, ist sehr informativ....
Gruß.
Frederic
PS: Mußt du nur auf deine Range anpassen.
https://www.herber.de/bbs/user/37080.xls
AW: Vergleich erweitern
29.09.2006 11:25:14
Sebastian
Hi Frederic danke für den Tipp. werd ich mir gleich mal anschauen.
AW: Vergleich erweitern
29.09.2006 11:16:47
Sebastian
Hab jetzt mal das Makro abgeändert. Funktioniert aber leider immer noch nicht. :-( Bitte Hilfe.

Sub XYZ()
Dim arrA As Variant, arrB As Variant
Dim WertA As String, WertB As String, WertC As String, WertD As String
Dim i As Integer, j As Integer, n As Integer
For i = 21 To Cells(Sheets("Calc").Rows.Count, 3).End(xlUp).Row
For j = 21 To Cells(Sheets("Change").Rows.Count, 8).End(xlUp).Row
WertA = Sheets("Calc").Cells(i, 3)
WertB = Sheets("Change").Cells(j, 8)
If StrComp(WertA, WertB, vbTextCompare) = 0 Then
For n = 2 To 32
WertC = Sheets("Calc").Cells(i, n)
WertD = Sheets("Change").Cells(j, n)
If StrComp(WertC, WertD, vbTextCompare) <> 0 Then
Sheets("Change").Cells(i, 1) = "x"
Sheets("Change").Cells(i, n).Font.Bold = True
End If
Next n
End If
Next j
Next i
End Sub

Anzeige
AW: Vergleich erweitern
29.09.2006 11:22:48
Frederic
Nimm mal den Code:
Option Explicit

Sub Tabellen_Vergleichen1()
'* H. Ziplies                                     *
'* 23.09.03; 03.03.05; 12.12.05                   *
'* erstellt von Hajo.Ziplies@web.de               *
'* <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a> *
Dim LoI As Long         ' 1. Schleifenvariable
Dim LoJ As Long         ' 2. Schleifenvariable
Dim LoLetzte1 As Long   ' letzte Zeile in Spalte A
Dim LoLetzte2 As Long   ' letzte Zeile in Spalte B
With Worksheets("Calc")
'       unabhängig von Excelversion für Spalte A (1)
LoLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
End With
With Worksheets("Change")
LoLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
End With
For LoI = 1 To LoLetzte1                                    ' 1. Schleife alle Werte Spalte A
For LoJ = 1 To LoLetzte2                                ' 2. Schleife alle Werte Spalte B
If Worksheets("Calc").Cells(LoI, 1) <> "" Then  ' Leerzellen nicht kennzeichnen
If Worksheets("Calc").Cells(LoI, 1) = Worksheets("Change").Cells(LoJ, 2) Then
Worksheets("Change").Cells(LoJ, 2).Interior.ColorIndex = 6
End If
End If
Next LoJ
Next LoI
End Sub

Die Spalten muss du noch auf dich anpassen, je nachdem welche Werte in welchen Spalten überprüft werden sollen.
Gruß.
Frederic
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige