AW: suchen ersetzen VBA Excel
13.11.2005 13:05:33
Hilbman
Hallo Kicki,
Sorry, daß ich erst jetzt auf deine neue Frage eingehen kann.
Ich war beruflich und Privat die letzten beiden Tage "verhindert"
Jetzt zu deiner Frage.
Natürlich kann man eine teilqualifizierte Abfrage der Namen der geöffneten Mappen erreichen :
Sub suchen_und_ersetzen()
Dim wb1 As Workbook, wb2 As Workbook, wb As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Set wb1 = Workbooks("zwei Mappen")
'Namen aller geöffneten Mappen feststellen
For Each wb In Excel.Workbooks
'Nach der Mappe suchen, die im Namen "Time" beinhaltet und wb2 zuweisen
If InStr(1, wb.Name, "Time") <> 0 Then
Set wb2 = Workbooks(wb.Name)
End If
Next
Set ws1 = wb1.Worksheets("Tabelle1")
Set ws2 = wb2.Worksheets("Tabelle2")
For i = 1 To ws2.Rows.Count
If ws1.Cells(5, 2) = ws2.Cells(i, 5) Then
ws1.Cells(5, 2) = ws2.Cells(i, 6)
Exit For
End If
Next
End Sub
Der Code funktioniert allerdings nur dann fehlerfrei, wenn nur eine Mappe mit dem Namen "Time ..." geöffnet ist !!!
Sollten mehrere Mappen mit "Time ..." geöffnet sein, so müsste man sich weitere Regeln überlegen, die dann immer die richtige Mappe für die Zuweisung zu wb2 selectiert. Dazu kenne ich aber deine Anwendung zu wenig, um hier konkrete Tips geben zu können.
Gruß Hilbman