Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Zellvergleich - von rechts bis Vorkommnis x

Frage Microsoft Microsoft Office

Mitglied: LoveBoat

LoveBoat (Level 1) - Jetzt verbinden

22.01.2009, aktualisiert 10:22 Uhr, 4533 Aufrufe, 6 Kommentare

Vergleich zweier Tabellen, etwas speziell

Morgen,

ich möchte zwei Tabellen vergleichen.

Die eine Tabelle enthält Dateinamen (Spalte A), die andere enthält die selben Dateinamen inklusive vollständigem Pfad (ebefnalls Spalte A).
Der Vergleich sollte daher in Tabelle 2 von rechts (hinten) ausgehen und lediglich bis zum ersten Vorkommnis des Zeichens "/" durchgeführt werden; die Anzahl der Zeichen variiert nämlich.
Sodann sollten alle ohne Übereinstimmung in Tabelle2 (derjenigen mit Pfadangabe) gekennzeichnet werden.

Gibt es hierfür eine elegante Formel oder ein Makro? Jemand eine Idee?

Vielen Dank!
F.
Mitglied: bastla
22.01.2009 um 10:59 Uhr
Hallo LoveBoat!

Du könnterst das Herausfiltern des Dateinamens aus dem Pfad mit einer "Benutzerdefinierten Funktion" in VBA erledigen und dann mit einem ZÄHLENWENN die Überprüfung durchführen ...

Die "Function" in VBA:
01.
Function DName(Pfad As String) 
02.
If InStrRev(Pfad, "\") > 0 Then 
03.
    DName = Mid(Pfad, InStrRev(Pfad, "\") + 1) 
04.
Else 
05.
    DName = Pfad 
06.
End If 
07.
End Function
Um diesen VBA-Code einzufügen:
  • In der Tabelle mit den Pfadnamen auf das Registerblatt mit dem Tabellennamen rechtsklicken und "Code anzeigen" wählen,
  • im darauf hin geöffneten VBA-Editor das Menü "Einfügen / Modul" verwenden, um ein neues Modul zu erstellen,
  • in das (große) Code-Fenster des Moduls den obigen Code einfügen und
  • den VBA-Editor schließen.

Wenn Du bereits Makros verwendet hast, wird in "Extras / Makro / Sicherheit" vermutlich schon die Sicherheitsstufe auf "Mittel" gesetzt sein, ansonsten müsstest Du das noch nachholen, damit das Makro auch ausgeführt werden kann. Nach dieser Änderung muss Excel beendet und neu gestartet werden.
Die Formel in Excel:
=WENN(ZÄHLENWENN(Tabelle2!$A$1:$A$300;DName(A1))=0;"X";"")
Wie ersichtlich, geht diese Formel davon aus, dass die Dateinamen in den Zellen A1:A300 der "Tabelle2" gesucht werden sollen.

Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 12:57 Uhr
Mh.... So genau schreibe ich die Function rein? Unter Makro->VBA-Editor haut er mir das immer um die Ohre bzw. fragt nach einem Makro-Namen. Bin ich da an der falschen Stelle?
Bitte warten ..
Mitglied: bastla
22.01.2009 um 13:17 Uhr
Hallo LoveBoat!

Und Du hast es auch so versucht wie oben unter "Um diesen VBA-Code einzufügen:" (für ein Excel 2003) beschrieben?

Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 15:27 Uhr
Hallo,

also ich habe das ganze genau der Anleitung nach gemacht.

Habe eine Sache noch nicht ganz verstanden: Wenn ich ein Makro im VBA Editor bspw. in einem Modul verfasse, dann muss ich es doch auch "abfeuern", oder?
Will sagen; ich muss doch dann auch "SUB/USER FORM Ausführen (F5)" gehen, richtig?
Also wenn ich das tue, dann öffnet sich ein Fenster in dem ich ein Makro auswählen soll.

Wenn ich aber nicht auf "Ausführen" gehe, sondern die obengenannte Formel ein gebe, dann passiert auch nichts. Dazu vorallem: Wo muss die Formel rein in A1 Tabelle1 oder in A1 Tabelle2? Oder wo?

Es sind übrigens doch ein paar mehr Stellen: Tab1 hat ca 36.000 und Tab2 ca 15.000.
Bitte warten ..
Mitglied: bastla
22.01.2009 um 16:12 Uhr
Hallo LoveBoat!

Der Code stellt kein zu startendes Makro dar, sondern wird als Funktion "DName()" in der Formel eingesetzt - der Aufruf erfolgt damit automatisch dann, wenn das Formelergebnis (neu) berechnet wird.

Testen kannst Du das, indem Du in eine Zelle (nicht in Spalte A) der Tabelle mit den Pfaden nur eingibst
=DName(A5)
Das Ergebnis der Formel sollte dann der Teil nach dem letzten "\" im Inhalt von A5 sein.

Dazu vorallem: Wo muss die Formel rein in A1 Tabelle1 oder in A1 Tabelle2? Oder wo?
Weder noch - unter der Annahme, dass in A1 bereits der erste Dateipfad steht, war diese Formel für Tabelle1!B1 gedacht - damit soll neben der Zelle A1 ein "X" aufscheinen, wenn der aus dem Pfad extrahierte Dateiname nicht in den Zellen A1:A15000 der Tabelle 2 zu finden ist.

Wenn Deine Pfade erst ab A3 in Tabelle1 und die Dateinamen ab Zelle A4 in Tabelle2 stehen, dann eben in B3
=WENN(ZÄHLENWENN(Tabelle2!$A$4:$A$15000;DName(A3))=0;"X";"")
Grüße
bastla
Bitte warten ..
Mitglied: LoveBoat
28.01.2009 um 11:52 Uhr
Hallo,

Vielen Dank für deine Hilfe.
Mir ist allerdings nochein Denkfehler aufgefallen; Bevor ich diesen Vergleich zweier Listen machen kann müssen beide Listen zunäcsht auf Dubletten hin überpüft (und diese markiert) werden.
Für die Liste ohne Pfadangabe ist das kein Problem, da sich die Zellen bei doppeltem Auftreten ja zu 100% entsprechen.
Für die andere Liste ist es aber ein Problem, da sich nur die Dateinamen, nicht aber die PFade (also wieder nur bis zum ersten "\" von rechts) entsprechen.

Erst wenn ich das gemacht habe kann ich den obengenannten Vergleich beginnen.

Hast du dafür auch eine Idee?

Viele Grüße,
F.
Bitte warten ..
Ähnliche Inhalte
Windows Tools
MMC-Aufgabe verschwindet, wenn X größer als 2 in COL(X) ist (2)

Frage von LosPollos zum Thema Windows Tools ...

Firewall
PfSense Repository für Version 2.3.x (7)

Information von Dobby zum Thema Firewall ...

Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Windows Server
Nach tägl. Neustart rotes X beim Netzlaufwerk (11)

Frage von Speedysurf zum Thema Windows Server ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(3)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...