18.02.2018, 21:35 
(Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2018, 21:36 von color code.)
		
	
	
		Hallo zusammen,
seit einigen Jahren benutze ich den angefügten Code, um nach bestimmten Werten in multiplen Arbeitsmappen zu suchen und die Ergebnisse (Zeilen) in einer neuen Arbeitsmappe auszuwerten. Für die bisherige Arbeit war es ein perfektes Tool.
Jetzt wollte ich es aber auch bei farbkodierten Zeilen in Arbeitsmappen ausprobieren. Leider wird beim Transposevorgang der Farbwert nicht mitgenommen. Ich habe den Code auf verschiedenste Weise versucht umzuschreiben. Ohne Erfolg.
Vielleicht sieht jemand die Lösung.
Danke für Eure Mühen.
	
	
	
	
	
seit einigen Jahren benutze ich den angefügten Code, um nach bestimmten Werten in multiplen Arbeitsmappen zu suchen und die Ergebnisse (Zeilen) in einer neuen Arbeitsmappe auszuwerten. Für die bisherige Arbeit war es ein perfektes Tool.
Jetzt wollte ich es aber auch bei farbkodierten Zeilen in Arbeitsmappen ausprobieren. Leider wird beim Transposevorgang der Farbwert nicht mitgenommen. Ich habe den Code auf verschiedenste Weise versucht umzuschreiben. Ohne Erfolg.
Vielleicht sieht jemand die Lösung.
Danke für Eure Mühen.
Code:
Sub SearchWB()
    Dim myDir As String, fn As String, ws As Worksheet, r As Range
    Dim a(), n As Long, x As Long, myTask As String, ff As String, temp
    myDir = "V:\Test\" '<- change path to folder with files to search
    If Dir(myDir, 16) = "" Then
        MsgBox "No such folder path", 64, myDir
        Exit Sub
    End If
    myTask = InputBox("Suckkriterium")
    If myTask = "" Then Exit Sub
    x = Columns.Count
    fn = Dir(myDir & "*.*")
        With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    Do While fn <> ""
        With Workbooks.Open(myDir & fn, 0)
            For Each ws In .Worksheets
                Set r = ws.Cells.Find(myTask, , , 1)
                If Not r Is Nothing Then
                    ff = r.Address
                    Do
                        n = n + 1
                        temp = r.EntireRow.Value
                        ReDim Preserve temp(1 To 1, 1 To x)
                        ReDim Preserve a(1 To n)
                        a(n) = temp
                        Set r = ws.Cells.FindNext(r)
                    Loop While ff <> r.Address
                End If
            Next
            .Close False
        End With
        fn = Dir
    Loop
    With ThisWorkbook.Sheets("Eintrag SUCHEN").Rows(1)
        .CurrentRegion.ClearContents
        If n > 0 Then
            .Resize(n).Value = _
            Application.Transpose(Application.Transpose(a))
        Else
            MsgBox "Not found", , myTask
        End If
    End With
End Sub
  