Thema Datum  Von Nutzer Rating
Antwort
Rot Script zum Übertragen bestimmter Daten in eine seperate Datei
10.11.2022 17:07:22 VBAnoob
**
NotSolved
10.11.2022 21:20:39 ralf_b
NotSolved
11.11.2022 16:53:53 VBAnoob
Solved

Ansicht des Beitrags:
Von:
VBAnoob
Datum:
10.11.2022 17:07:22
Views:
655
Rating: Antwort:
  Ja
Thema:
Script zum Übertragen bestimmter Daten in eine seperate Datei

Guten Tag zusammen,

Also ich möchte gerne einen Suchbegriff hier "Projektname" in mehreren Excel Dateien in der Spalte "Target" suchen und dann, wenn er gefunden wurde.

Soll er in der Reihe, wo er "Projektname" gefunden hat, Zeilen A-X in die Tabelle des Script ausführenden Datei schreiben.
Bis keine Zeilen mit dem "Projektname" gefunden werden können, in allen im Ordner befindlichen Excel Dateien.

Ich habe bisher die Suche nach dem "Projektname" im Script, weiß aber nicht, wie ich die Zeilen in der Reihe in die Tabelle rüberkopieren kann.
 

Sub SearchAndCopyData()
    'Variablen
    Dim fso As Object, strFind As String, wsTarget As Worksheet, file As Object, sh As Worksheet, rngCol As Range, c As Range, firstAddress As String, dblKosten As String, strFolder As String, strHeader As Variant
    
    'Ordner in dem sich die xlsx-Dateien befinden (im Beispiel der aktuelle Pfad in dem sich diese Mappe befindet)
    strFolder = "Projekt Pfad"
    
    'Objekte
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'Sheet festlegen in das die Daten kopiert werden
    Set wsTarget = Sheets(1)
    
    'Eingabeaufforderung für die Nummer
    strFind = InputBox("Bitte geben sie den Projektnamen an:", "Projektname suchen", "Projekt123")
    If strFind <> "" Then
        'Screenflicker und Dialoge unterdrücken
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        
        'Ausgabebereich löschen
        wsTarget.Range("A2:X10000").Clear
        
        'Für jede Datei im Ordner ...
        For Each file In fso.GetFolder(strFolder).Files
            'Wenn es eine 'xlsx' Datei ist
            If LCase(fso.GetExtensionName(file.Name)) = "xlsx" Then
                'Mappe öffnen
                Set wbSearch = GetObject(file.Path)
                ' Alle Sheets der Datei durchsuchen
                For Each sh In wbSearch.Sheets
                    With sh.UsedRange
                        'Suche Spaltenüberschrift 'Target'
                        For Each strHeader In Array("Target")
                            Set rngCol = sh.UsedRange.Find(strHeader, LookIn:=xlValues, LookAt:=xlWhole)
                            If Not rngCol Is Nothing Then Exit For
                        Next
                        'Wurde eine der Spalten gefunden, suche Projektname
                        If Not rngCol Is Nothing Then
                            Set c = .Find(strFind, LookIn:=xlValues, LookAt:=xlWhole)
                            If Not c Is Nothing Then
                                firstAddress = c.Address



Da ich mich nicht so gut mit der Programmierung auskenne, hab ich mir den Code bisher aus dem Forum zusammengesucht.

Vielen Dank im Voraus für die Hilfe, ich hoffe, es ist alles soweit verständlich

der VBAnoob


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
Rot Script zum Übertragen bestimmter Daten in eine seperate Datei
10.11.2022 17:07:22 VBAnoob
**
NotSolved
10.11.2022 21:20:39 ralf_b
NotSolved
11.11.2022 16:53:53 VBAnoob
Solved