Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

In Excel 2 Spalten vergleichen

Frage Microsoft Microsoft Office

Mitglied: abuelito

abuelito (Level 1) - Jetzt verbinden

24.11.2011 um 12:27 Uhr, 5924 Aufrufe, 4 Kommentare

Hallo an Alle,

ich muss in Excel 2 Spalten aus 2 Tabellen vergleichen

Ich habe eine Excel Datei mit 2 Tabellenblätter (Tabelle 1 ca. 3.000 Zeilen und Tabelle 2 ca. 350 Zeilen).

Jetzt möchte ich gerne die Zeilen, die sich jeweils (in beiden Tabellen) in Spalte A befinden vergleichen und die doppelten in der Tabelle 1 in grün markieren und die, die in Tabelle 1 aber nicht in Tabelle 2 vorhanden sind, diese in Tabelle 1 in rot markieren.

In Spalte A sind die Firmennamen eingetragen. Leider nicht in beiden Tabellen identisch, d.h. in:

Tabelle 1 heisst eine Firma z.B. Mustermann GmbH und in Tabelle 2 heisst die Firma Mustermann GmbH & Co. KG ... Hier sollte die Markierung grün sein, weil die Firma identisch ist und somit in beiden Tabellenblätter vorhanden ist.

Kann man z.B. so vorgehen, dass man nicht den kompletten String in der Zeile vergleicht, sondern z.B. nur die ersten 4 Stellen?

Anbei den Code, den ich zur Zeit verwende:

Dim Blatt_CBF As String, ZeilAb As String
Dim Blatt_MiFid As String, ZeilBe As String
Sub SuchenUndMarkieren()
ZeilAb = 1
Blatt_CBF = "Tabelle1"
Blatt_MiFid = "Tabelle2"

Start:
ZeilBe = 1
Sheets(Blatt_CBF).Select
ZeilAb = ZeilAb + 1
Cells(ZeilAb, 1).Select
If Cells(ZeilAb, 1) = "" Then GoTo Ende
With Selection.Interior
.ColorIndex = 3
End With

Suchen:
ZeilBe = ZeilBe + 1
If Sheets(Blatt_MiFid).Cells(ZeilBe, 1) = "" Then GoTo Start
If Cells(ZeilAb, 1) = Sheets(Blatt_MiFid).Cells(ZeilBe, 1) Then
With Selection.Interior
.ColorIndex = 4
End With
GoTo Start
End If
GoTo Suchen

Ende:
End Sub

Leider wird mir in Tabelle 1 trotzdem fass alles rot markiert, weil die Schreibweise der Firmen, wie oben im Beispiel beschrieben nicht immer identisch ist.

Wer kann mir helfen?

Vielen Dank für die Hilfe

Grüße
Mitglied: 83928
24.11.2011 um 12:47 Uhr
Kann man z.B. so vorgehen, dass man nicht den kompletten String in der Zeile vergleicht, sondern z.B. nur die ersten 4 Stellen?

Hi,
schau Dir mal die Funktion InStr() an....
Gruß
Bitte warten ..
Mitglied: abuelito
24.11.2011 um 13:10 Uhr
Muss ich in der InStr() Funktion nicht eine bestimmte Zeichenfolge (Wort) eingeben, nachdem ich suchen will? Sorry, ich bin noch ein gr. Anfänger.

Grüße
Bitte warten ..
Mitglied: 83928
24.11.2011 um 14:03 Uhr
Ok, war vllt. auch nicht ganz das richtige ;) Probier es mal hiermit:
01.
Dim rngF As Range 
02.
Dim strWhat As String 
03.
Dim i 
04.
For i = 1 To 3000           'Für 3000 Zeilen 
05.
        strWhat = Left(Worksheets("tabelle1").Cells(i, 1).Value, 4) 'Die ersten 4 Zeichen aus Zelle in Tabelle1 
06.
        Set rngF = Worksheets("Tabelle2").Columns(1).Find(strWhat) 'Nach den 4 Zeichen suchen in Tabelle2 
07.
        If Not rngF Is Nothing Then 
08.
            Worksheets("tabelle1").Cells(i, 1).Interior.ColorIndex = 3 'wenn gefunden dann irgendeine Farbe zuweisen 
09.
        Else 
10.
            Worksheets("tabelle1").Cells(i, 1).Interior.ColorIndex = 8 'wenn nicht gefunden dann andere Farbe zuweisen 
11.
        End If 
12.
        Set rngF = Nothing 
13.
Next i
Bitte warten ..
Mitglied: abuelito
25.11.2011 um 11:25 Uhr
Hi, vielen Dank, damit funktionierts
Grüße
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (3)

Frage von Raptox zum Thema VB for Applications ...

Microsoft Office
gelöst Excel Makro zum Sortieren von Spalten an größeres Dokument Anpassen (2)

Frage von Rolfor zum Thema Microsoft Office ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...