Thema Datum  Von Nutzer Rating
Antwort
26.10.2011 11:20:39 Cheese
Solved
26.10.2011 11:52:11 Till
NotSolved
26.10.2011 14:27:07 Gast78679
NotSolved
Blau doppelte Sätze mit Schleife ermitteln (Makro)
26.10.2011 19:15:46 Till
NotSolved
27.10.2011 08:34:37 Cheese
NotSolved
27.10.2011 14:45:25 Gast92826
NotSolved
27.10.2011 19:48:49 Till
NotSolved
28.10.2011 08:36:57 Cheese
NotSolved
28.10.2011 09:36:57 Cheese
NotSolved
30.10.2011 12:27:18 Till
NotSolved
02.11.2011 08:15:43 Cheese
NotSolved
02.11.2011 09:13:56 Till
NotSolved
02.11.2011 10:03:01 Cheese
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
26.10.2011 19:15:46
Views:
2832
Rating: Antwort:
  Ja
Thema:
doppelte Sätze mit Schleife ermitteln (Makro)

Hier ein paar Kommentare:

Option Explicit

Sub DateienVergleichen()
Dim RNG As Range, Dat1, Dat2, R&, I&, Enthalten As Boolean, errCount& 'definition der verwendeten variablen (&=long)
Application.ScreenUpdating = False 'bildschirm nicht updaten (kein flackern, schnellere berechnung beim färben)

    Dat1 = Workbooks("File1.xls").Sheets(1).Range("A7:a100").Value 'daten an erstes array übergeben
    Set RNG = Workbooks("File2.xls").Sheets(1).Range("A7:a100") 'range-object für file 2 erstellen
    Dat2 = RNG.Value 'daten an zweites array übergeben
    RNG.Interior.ColorIndex = xlNone 'farben in file 2 auf standard zurücksetzen
    
    For R = 1 To UBound(Dat1) 'anzahl zeilen file 1
        For I = 1 To UBound(Dat2) 'anzahl zeile file 2
            If Dat1(R, 1) = Dat2(I, 1) Then 'wert in file 2 färben wenn wert aus file 1 mit wert aus file 2 übereinstimmt
                RNG(I, 1).Interior.ColorIndex = 6 'farbe gelb
                Enthalten = True 'zahl aus file 1 ist in file 2 enthalten
            End If
        Next
        If Not Enthalten Then 'nur die ersten 10 fehlermeldungen anzeigen...
            If errCount < 10 Then MsgBox Dat1(R, 1) & "(" & RNG(R, 1).Address & ") - Nicht in File 2 enthalten!", vbCritical 'Fehlermeldung ausgeben
            errCount = errCount + 1 'anzahl der fehlermeldungen
        Else
            Enthalten = False 'wieder auf falsch setzen
        End If
    Next

Application.ScreenUpdating = True 'anzeige updaten
End Sub

Beide Arbeitsmappen müssen vorher manuell geöffnet werden...


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.10.2011 11:20:39 Cheese
Solved
26.10.2011 11:52:11 Till
NotSolved
26.10.2011 14:27:07 Gast78679
NotSolved
Blau doppelte Sätze mit Schleife ermitteln (Makro)
26.10.2011 19:15:46 Till
NotSolved
27.10.2011 08:34:37 Cheese
NotSolved
27.10.2011 14:45:25 Gast92826
NotSolved
27.10.2011 19:48:49 Till
NotSolved
28.10.2011 08:36:57 Cheese
NotSolved
28.10.2011 09:36:57 Cheese
NotSolved
30.10.2011 12:27:18 Till
NotSolved
02.11.2011 08:15:43 Cheese
NotSolved
02.11.2011 09:13:56 Till
NotSolved
02.11.2011 10:03:01 Cheese
NotSolved