Microsoft Excel

Herbers Excel/VBA-Archiv

Ansprechen von geöffneten Workbooks


Betrifft: Ansprechen von geöffneten Workbooks
von: Flo
Geschrieben am: 07.12.2018 12:10:18

Hallo Experten,

Ich muss über mein Excelworkbook ein anderes (geöffnetes) Workbook ansprechen und Daten verändern, was ja grundsätzlich über die Workbooks-Collection relativ leicht ist.
Mein Problem ist aber, dass sich zwei Mal im Jahr der Name der zu ansprechenden Datei verändert, damit funktioniert mein Workbooks("Name.xlsm") dann leider nicht mehr. Gibt es da eine andere Möglichkeit?
Bei Tabellenblättern kann ich die eigentlichen Objekte ja auch umbenennen und dann über das Objekt selber darauf zugreifen. Dort ist es dann egal, wie das Worksheet heißt. Genau soetwas bräuchte ich auch für Workbooks...

Danke schon mal.
LG, Flo

  

Betrifft: AW: Ansprechen von geöffneten Workbooks
von: EtoPHG
Geschrieben am: 07.12.2018 12:15:50

Hallo Flo,

Zitat: ...und dann über das Objekt selber darauf zugreifen...
Zeigst du uns mal wie der Code dazu lautet, dann kann man vielleicht daraus ableiten, was du auf Workbook-Ebene anstrebst.

Irgendein Muster im Mappen-Namen müsste schon erkennbar sein um identifizieren zu können ob es geöffnet ist. Hast du denn an die Fälle gedacht, a) wenn es nicht geöffnet ist und b) wenn es zwar geöffnet ist, aber noch (z.B.) 10 andere Arbeitsmappen geöffnet sind?

Gruess Hansueli


  

Betrifft: AW: Ansprechen von geöffneten Workbooks
von: Flo
Geschrieben am: 07.12.2018 12:22:17

Hi,

Danke für die schnelle Antwort. Die Fälle, wenn das Workbook nicht geöffnet oder gesperrt ist fange ich ab und gebe eine Warnung aus.

Ein Muster aus den Namen kann ich schon raussuchen (die gesuchte Datei fängt immer mit dem selben Namen an, aber ein Datum wird zwei mal im Jahr angehängt), ich habe nur gehofft, dass es eine leichtere Möglichkeit, ähnlich der Genannten bei den Tabellenblättern, gibt. Aber in diesem Fall werde ich einfach alle geöffneten Excel-Workbooks durchgehen und mir das gesuchte (von dem nur eines geöffnet sein kann) raussuchen.

LG, Flo


  

Betrifft: AW: Ansprechen von geöffneten Workbooks
von: Daniel
Geschrieben am: 07.12.2018 12:30:13

Hi
einen (für den Anwender) unveränderlichen Objektnamen (analog den Codenames bei Worksheets) gibt es für Workbooks nicht.

wenn der Anfang des Workbooknames immer gleich ist und als Erkennungsmerkmal ausreicht, lass einfach diese Schleife laufen:

dim WB as workbook
for each WB in Application.Workbooks
     if WB.Name like "xxxx*" then Exit for
next
if WB is nothing then
    Msgbox "Datei nicht gefunden"
Else
    hier der Code
End if
Gruß Daniel


  

Betrifft: AW: Ansprechen von geöffneten Workbooks
von: Flo
Geschrieben am: 07.12.2018 12:31:32

Werde ich so machen.

Vielen Dank!

LG, Flo