Tabellenkalkulation
Von: Birgit, 20.4.2012 15:53 Uhr
Hallo Experten,

ich habe folgendes Problem:
Auf einer externen Festplatte sind Ordner und Unterordner, die z.B. wie folgt strukturiert sind:
\Ordner1
\Ordner1\Ordner2
\Ordner1\Ordner2\Ornder3
\Ordner1\Ordner2\Ornder3\Ordner4

Außerdem habe ich eine Exceltabelle. In Blatt1, Spalte 1, sind Texte, z.B. Ordner1, Ordner2,OrdnerXYZ,

Ich möchte nun, dass automatisch die Exceltabelle mit den Ordner auf der Festplatte verglichen wird und diejenigen in der Exceltabelle markiert werden, die nicht auf der Festplatte sind. Bei dem o.g. Beispiel müßte das Feld mit dem Begriff OrdnerXYZ markiert werden, weil es nicht auf der Festplatte ist.

Ist so etwas möglich? Gibt es vielleicht eine Software, die sowas kann?

Die Festplatte kann ich entweder an einem PC mit Windows XP und Office 2003 oder mit Windows 7 und Office 2010 anschließen.


Viele Grüße

Birgit



  1. Antwort von Andreas 1
    Versuchs mal hiermit
    Hallo Birgit,

    ich habe dir mal einen Makro gebastelt und hochgeladen. Er ist für Excel 2003. Du kannst ihn hier runterladen:
    http://www.file-upload.net/download-4299814/OrdnerSu...
    Eine Kurzanleitung steht drin. Probiers mal aus und melde dich, falls es Probleme gibt.

    Gruß und Viel Erfolg,
    Andreas
    9 Kommentare
    • von Birgit 1
      Re: Versuchs mal hiermit - Danke - noch eine Frage
      Hallo Andreas,

      erst einmal vielen Dank für Deine unkomplizierte Hilfe. :-) Das ist fast genau das was ich brauche. Danke! *freu*Hüpf*freu*

      Kann man in das Makro auch noch einbauen, dass es Ordner findet, die z.B. "Musterordner 01" ODER "01 Musterordner" heißen, obwohl in der Excelliste "Musterordner" steht. Wenn das ginge, wäre mein Glück perfekt.

      Viele Grüße

      Birgit :-)
    • von Andreas 1
      Noch ne Gegenfrage
      Hallo Birgit,

      freut mich, dass es so weit auf Anhieb geklappt hat.

      Wie soll das mit dem "Musterordner 01" genau aussehen?
      In der Liste steht "Musterordner".
      Was soll er alles finden?
      "Musterordner 01"
      "Musterordner 02"
      "Musterordner  01"
      "Irgendwas Musterordner sonstnochwas"
      "002  Musterordner"
      


      Du siehst, das kann beliebig kompliziert werden.
      Hier musst du also ganz genau angeben, was er finden soll, also z.B.
      Beliebig viele Ziffern - beliebig viele Leerzeichen - Musterordner

      oder

      Beliebig viele Ziffern - beliebig viele Leerzeichen - Musterordner - beliebig viele Leerzeichen - Beliebig viele Ziffern

      oder
      Genau 2 Ziffern - genau ein Leerzeichen - Musterordner

      Oder irgendwie so.
      Das suchen nach Textmustern ist immer eine heikle Sache. Aber wenn du mir ein genaues Schema angibst, versuche ich es mal in den Makro zu packen.

      Gruß, Andreas
    • von Birgit 1
      Re: Noch ne Gegenfrage
      Hallo Andreas,

      Danke für Deine erneute schnelle Antwort. :-)

      Also das Makro sollte suchen:

      "Irgendwas Musterordner sonstnochwas"

      In der Exceltabelle kann stehen:
      z.b. Musterordner, Der Musterordner, Musterordner zwei,

      Bei einer Suche im Explorer würde ich angeben:
      *Musterordner* bzw. *Der Mustrordner* bzw. *Musterordner zwei*

      Es sollte dann also gefunden werden, z.B.

      "Der Musterordner"
      "Der große Musterordner"
      "Musterordner zwei"
      "Musterordner 01"
      "Musterorder ist ganz groß"
      "Der große Musterordner ist ganz groß"
      "Der große Musterordner zwei"
      usw.

      Viele Dank nochmal für Deine Hilfe! :-)

      Birgit :-)
    • von Andreas 1
      Re^2: Noch ne Gegenfrage
      Hallo Birgit,

      OK, dann versuch's mal hiermit:
      http://www.file-upload.net/download-4310500/OrdnerSu...

      Ich habe den Makro jetzt so umgeschrieben, dass:
      - Wenn er irgendwo in einer Zelle das Wort "Musterordner" findet, egal ob groß oder klein geschrieben, und egal in welchem Zusammenhang,
      - dann ist der Ordner vorhanden, wenn igendwo in den Ordnern das Wort "Musterordner" (egal ob groß oder klein) gefunden wird.

      An Sonsten wie bisher.

      Hab ich das jetzt richtig verstanden?

      Gruß, Andreas
    • von Reinhard 1
      OT Vba, Datei auf einmal einlesen
      http://www.file-upload.net/download-4310500/OrdnerSu...
      Hallo Andreas,

      du benutzt:
      fLen = FileLen(DieseArbeitsmappe.Path & "\verz.txt")
      Open DieseArbeitsmappe.Path & "\verz.txt" For Binary Access Read As #1
        verzStr = String(fLen, " ")
        Get #1, , verzStr
      Close #1
      


      Mir wurde (von Rainer vom VB-Brett) dieser Code gezeigt den ich
      seither benutze um eine Datei auf einmal einzulesen.
      Function Einlesen(Datei) As String
      Dim FF As Long
      FF = FreeFile
      Einlesen = Space(FileLen(Datei))
      Open Datei For Binary As #FF
        Get #FF, , Einlesen
      Close #FF
      End Function
      


      Vielleicht ist das ja auch was für dich.

      Und, ich weiß schon daß du und ich glaube er heißt Stefan,
      beide sehr fit in Vba seid. Schade daß ihr euch so selten mit Codes zeigt. Ich lese gerne Codes um was für mich zu lernen, zu verbessern.

      Und2, ja, wenn es beim Festplattenauslesen schnell gehen muß,
      da es sonst zu lange dauert, benutze ich auch gerne das gute alte Dos, also Dir.
      Vba sowieso, aber sogar VB ist da langsamer, C o.ä. weiß ich nicht.

      Gruß
      Reinhard
    • von Andreas 1
      Re: OT Vba, Datei auf einmal einlesen
      http://www.file-upload.net/download-4310500/OrdnerSu...
      Hallo Andreas,
      Guten Morgen Reinhard,
      du benutzt:
      fLen = FileLen(DieseArbeitsmappe.Path & "\verz.txt")
      Open DieseArbeitsmappe.Path & "\verz.txt" For Binary Access
      Read As #1
      verzStr = String(fLen, " ")
      Get #1, , verzStr
      Close #1
      


      Mir wurde (von Rainer vom VB-Brett) dieser Code gezeigt den
      ich
      seither benutze um eine Datei auf einmal einzulesen.
      Function Einlesen(Datei) As String
      Dim FF As Long
      FF = FreeFile
      Einlesen = Space(FileLen(Datei))
      Open Datei For Binary As #FF
      Get #FF, , Einlesen
      Close #FF
      End Function
      


      Vielleicht ist das ja auch was für dich.
      Ja, das ganze Einlesen in eine Funktion zu packen, ist eine clevere Sache. Werde ich mir merken.
      Und, ich weiß schon daß du und ich glaube er heißt Stefan,
      beide sehr fit in Vba seid. Schade daß ihr euch so selten mit
      Codes zeigt. Ich lese gerne Codes um was für mich zu lernen,
      zu verbessern.
      Blumen vom Guru. Vielen Dank!
      Ich würde auch gerne viel öfter hier posten. Aber:
      - Ich kann mir nicht so viel Zeit nehmen, wie z.B. du (ich frage mich immer, wie du das machst). Wenn ich hier im Brett lese, sind die meisten Fragen schon beantwortet, und zwar gut und zufriedenstellend. Da muss ich dann nicht auch noch mal.
      - Von den Fragen, die noch nicht beantwortet sind, picke ich mir die Fragen raus, die für mich interessant klingen und eine Herausforderung darstellen. Da versuche ich dann Code zu basteln. Da ich aber nicht so fit bin wie andere (z.B. du) sind auch diese Fragen dann oft schon beantwortet (und meistens besser), bevor ich posten kann.
      Aber es macht hier einen Riesenspaß, und auch beim Nur mitlesen lerne ich viel dazu.
      Und2, ja, wenn es beim Festplattenauslesen schnell gehen muß,
      da es sonst zu lange dauert, benutze ich auch gerne das gute
      alte Dos, also Dir.
      Vba sowieso, aber sogar VB ist da langsamer, C o.ä. weiß ich
      nicht.
      Ich habe vor vielen Jahren, also es weder VB noch VBA gab, öfter mal was in C gemacht. Nach meinem Gefühl war es recht schnell, aber DOS war unschlagbar.
      Gruß
      Reinhard
      Gruß zurück,
      Andreas

      PS. Ich tauche vermutlich demnächts öfter hier als Frager auf: Ich quäle mich gerade mit dem Umstieg von Excel 2003 nach 2010.
    • von Birgit 1
      Re^3: Noch ne Gegenfrage
      Hallo Andreas,

      nochmals viiiiiiiiiiieeeeeelen Dank für Deine Hilfe.

      Ich habe die Ergebnisse Deines ersten Makros mit denen des zweiten Makros verglichen. Das zweite Makro hat leider nicht mehr gefunden als das erste. Dann habe ich mir das Makro genau angesehen. Ich bin VBA Anfänger. Jetzt bin ich mir aber nicht sicher, ob ich mich korrekt ausgedrückt hatte. Es geht nicht um das Wort "Musterordner", sondern es war nur ein Beispiel. Was ich meinte war, das in der Exceltabelle in Spalte 1 verschiedene Wörter stehen können:
      z.B.
      Zeile 1: Neuer Ordner
      Zeile 2: Musterordner
      Zeile 3: Der schöne Tag
      Zeite 4: Der erste Mai
      Zeile 5: Blauerordner
      Zeile 6: Sonntag

      Die Ordner bzw. Unterordner bzw. Unterunterordner auf der Festplatte heißen z.B.

      Neuer Ordner 01
      Der Ornder sollte dann vom Makro als vorhanden gewertet werden.

      01 Musterordner
      Der Ordner sollte dann vom Makro als vorhanden gewertet werden.

      Der schöne Tag.
      Das wird sowieso von Deinem Makro gefunden und als vorhanden gewertet.

      Der erste Mai ist frei.
      Das sollte dann auch vom Makro als vorhanden gewertet werden.

      Schöner Blauerordner
      Das sollte dann auch vom Makro als vorhanden gewertet werden.

      SONNTAG
      Das sollte dann auch vom Makro als vorhanden gewertet werden.

      Ich hoffe, ich habe mich jetzt verständlich ausgedrückt und Du hast auch weiterhin Lust mir zu helfen.

      Viele Grüße

      Birgit :-)
    • von Birgit 1
      Re^5: Noch ne Gegenfrage
      Hallo Andreas,

      super! Jetzt klappt es! :-) *freu*hüpf*hüpf*freu*

      Viiiiiiiiiieeeeeeeeeeeeeeeelen Dank für Deine Hilfe! :-)

      Ich hätte das sonst alles manuell vergleichen müssen. Durch Dich habe ich eine Menge Arbeit gespart!!! :-)

      Viele Grüße

      Birgit :-)
  2. Antwort von Netwolf 0
    Re: Excelliste mit Ordner auf Festplatte vergleich
    Moin Moin,

    ja, das geht mit Boardmitteln. Nutze VBA um diese Funktion deiner Excelmappe hinzuzufügen.

    Aber mal ehrlich: was willst du mit so einem Umstand anfangen?

    Grüße aus Rostock
    Wolfgang
    (Netwolf)
    2 Kommentare
    • von Birgit 1
      Re^2: Excelliste mit Ordner auf Festplatte verglei
      Hallo,

      mit VBA kenne ich mit leider nur bedingt aus. Ich dachte, dass es vielleicht ein Programm gibt, mit dem das einfach geht.

      Zu Deiner Bemerkung: "Aber mal ehrlich: was willst du mit so einem Umstand anfangen?"

      Wenn es keine automatische Lösung gibt, heißt das für mich, dass ich manuell vergleichen muß, welche Ordner auf der Festplatte vorhanden sind und welche nicht. Und das ist bei über 1000 Ordnern, echt zeitaufwendig.

      Gruß
      Birgit
    • von Netwolf 0
      Re^3: Excelliste mit Ordner auf Festplatte verglei
      Moin Moin,

      eine genauere Beschreibung was du erreichen willst wäre hilfreich.

      Es gibt z.B. Programme für die Synchronisation von Festplatten-Partitionen. Diese prüfen automatisch, welche Ordner fehlen und erstellen diese dann auch.

      Excelliste <-> Dateisystem ist eher EDV zu Fuß :-)

      Grüße aus Rostock
      Wolfgang
      (Netwolf)