Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Excel Tool

Empfohlene Antworten

Veröffentlicht

Suche ein Tool welches folgenden Funktionen bereitstellen sollte:

-Tool, das *.xls eines Systemes nach bestimmten Mustern durchgräbt und die in eine Ausgabe(datei) schreibt in welchen XLS diese Muster enthalten waren.

-Tool, das nach bestimmte Muster durch andere ersetzt.

Gibt es so was oder ähnliches

  • 4 Wochen später...

Hat vielleicht jemand Ahnung wie man das ganze mit VBA/Makros hinbekommen könnte ???

Hi!

Wenn ich Dich richtig verstanden habe, willst Du in allen Arbeitsmappen Deines Systems nach z.B. einem Suchwort suchen, oder??

Das ganze geht unter VBA und zwar mit Hilfe des FileSystemObjects!

Dafür im VBA-Editor unter Excel in Extras->Verweise die Microsoft Scripting Runtime aktivieren, falls noch nicht geschehen!

Hab mich mal 'n bissel hingesetzt und was altes von mir umgeschrieben!

Sag Bescheid, ob es das ist, was Du wolltest!


Sub suchemuster()

Dim fso As New Scripting.FileSystemObject

Dim rootfld As Scripting.Folder

Dim msg As String

'Hier den "Aufsetzpunkt angeben"

Set rootfld = fso.GetFolder("C:\eigene dateien")

'Starte Rekursion

suchefileinfolder rootfld

MsgBox "Fertig!"

End Sub



Sub suchefileinfolder(rootfld As Folder)

Dim fso As New Scripting.FileSystemObject

Dim fld As Scripting.Folder

Dim fil As Scripting.file

Dim actwrk As Workbook

Dim actsht As Worksheet

Dim txtfile As Scripting.TextStream

Dim suchwort As String


'Hier das Suchwort anpassen


suchwort = "EUR"


For Each fld In rootfld.SubFolders

    'Rekursiv alle Verzeichnisse mit Unterverzeichnissen durcharbeiten

    'Hätte man auch Iterativ schreiben können, aber ich liebe Rekursive Prozeduren :-)

    suchefileinfolder fld

Next

'Postrekursiver Teil

'TextFile für die Ergebniss

'Könnte man auch als Excel-Tabelle machen, war mir aber zuviel arbeit

'Achtung! Die Textdatei wird nicht gelöscht!!! Das heisst, evtl. bleiben alte Ergebnisse stehen!

Set txtfile = fso.OpenTextFile("C:\ergebnis.txt", ForAppending, True)

For Each fil In rootfld.Files

    'Wenn Excel-Tabelle

    If Right(fil.Name, 4) = ".xls" Then

        'öffnen

        Set actwrk = Workbooks.Open(fil.Path)

        'Für jedes Tabellenblatt in der Mappe

        For Each actsht In actwrk.Sheets

            If Not actsht.UsedRange.Find(suchwort) Is Nothing Then

                'Wenn wenigstens einer(!) gefunden wurde, dann schreibe

                'in die Ergebnisdatei und...

                txtfile.Write fil.Path & vbCrLf

                'beende die For-Schleife

                Exit For

            End If

        Next

        'Arbeitsmappe schliessen (ohne speichern) und

        'Objekte freigeben

        actwrk.Close xlDoNotSaveChanges

        Set actwrk = Nothing

        Set actsht = Nothing

    End If

Next

'Textdatei schliessen

txtfile.Close

Set txtfile = Nothing

End Sub

Viel Spass damit,

Red Bull

Jaaaaa, vielen Dank !!! :D

Bringt mich meinem Ziel schon mal näher.

Mein Problem ist das ein ganz schöner Haufen von xls Files durchsucht werden muss, und dann "Suchen->ersetzen" like, das gefundene durch einen neuen wert ersetzt werden muss.

Danke noch mal !!!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.