1.8k Aufrufe
Gefragt in Tabellenkalkulation von camillo Einsteiger_in (93 Punkte)
Hallo,

ich habe mehrere Excel-Dateien geöffnet. Nun möchte ich aus dem aktiven Tabellenblatt in allen geöffneten Mappen nach dem Tabellenblatt "Inhaltsverzeichnis" suchen. Daraus sollen die Zellwerte K4 und K5 (nicht die in den Zellen befindlichen Formeln sondern die Werte) kopiert und in das aktive Tabellenblatt in Zelle M6 und M7 kopiert werden. Danke im voraus.

Ciao Camillo

5 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Camillo,

was bringt es, dass die Werte aus allen Tabellen "Inhaltsverzeichis" mehrerer Arbeitsmappen in die selben Zellen (M6 und M7) kopiert werden? Die Daten werden doch überschrieben und nur die Werte aus der letzten Arbeitsmappe bleiben erhalten.

Vom Prinzip her geht so etwas mit dem folgenden Code:
Sub Uebernehmen()
Dim wbkMappe As Workbook
Dim wksTab As Worksheet
For Each wbkMappe In Workbooks
If wbkMappe.Name <> ActiveWorkbook.Name Then
On Error Resume Next
Set wksTab = wbkMappe.Worksheets("Inhaltsverzeichnis")
On Error GoTo 0
If Not wksTab Is Nothing Then
wbkMappe.Worksheets("Inhaltsverzeichnis").Range("K4:K5").Copy
ActiveSheet.Range("M6").PasteSpecial Paste:=xlValues
End If
Set wbkMappe = Nothing
End If
Next wbkMappe
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von camillo Einsteiger_in (93 Punkte)
Hi Karin,

in den geöffneten Mappen gibt es nur ein Tabelle mit dem Namen Inhaltsverzeichnis

Ciao Camillo
0 Punkte
Beantwortet von camillo Einsteiger_in (93 Punkte)
Hi Karin,

ich habe nun dein Makro getestet und muss sagen: Wie immer Perfekt. Vielen Dank

Ciao Camillo
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Camillo,

ist der Name der Arbeitsmappe bekannt, in welcher sich das Tabellenblatt "Ihaltsverzeichnis" befindet? In diesem Fall kann man den Code noch vereinfachen und muss nicht in einer Schleife über alle geöffneten Arbeitsmappen laufen:
Sub Uebernehmen()
Dim wksTab As Worksheet
On Error Resume Next
Set wksTab = Workbooks("AndereMappe.xls").Worksheets("Inhaltsverzeichnis")
On Error GoTo 0
If Not wksTab Is Nothing Then
Workbooks("AndereMappe.xls").Worksheets("Inhaltsverzeichnis").Range("K4:K5").Copy
ActiveSheet.Range("M6").PasteSpecial Paste:=xlValues
End If
Set wksTab = Nothing
End Sub
0 Punkte
Beantwortet von camillo Einsteiger_in (93 Punkte)
Hi Karin,

leider ist der Name nicht bekannt. Trotzdem vielen Dank für deine Mühe.

Ciao Camillo
...