Microsoft Excel

Herbers Excel/VBA-Archiv

Windows.activate mit variablem Namen

Betrifft: Windows.activate mit variablem Namen von: Markus
Geschrieben am: 04.08.2014 16:57:50

Hallo,

ich habe ein Problem und benötige mal wieder eure Hilfe. Habe per google Suche nichts gefunden.

Ich habe zwei geöffnete Excel Dateien.

Nun möchte ich mittels Makro zwischen den beiden Dateien wechseln.

Dies sollte ja mit der Funktion Windows("Dateiname").Activate funktionieren.

Ich hab nun das Problem, dass der Name der einen Datei variiert.

Das heißt: Sie fängt immer mit "E08" an, hat dann ein Leerzeichen und danach eine 10 stellige Nummer(diese variiert). Dateiendung ist xlsm.

Kann mir jemand mit dem Code helfen ?

Wäre Super!

Vielen Dank!

gruss Markus


  

Betrifft: AW: Windows.activate mit variablem Namen von: Daniel
Geschrieben am: 04.08.2014 17:19:14

In welcher Datei steht der Code?
die Datei die den Code enthält, könntest du mit mit

ThisWorkbook.Activate
oder wenns über das Windwo gehen soll (was aber nicht notwendig ist und zu Fehlern führen kann):

Windows(Thisworkbook.Name).Activate

löst das schon dein Problem?
oder befindet sich der Code in der anderen Datei?

ansonsten würde ich mit Variablen arbeiten:
Sub xxx()
Dim WB1 as Workbook
Dim WB2 as Workbook
Set WB1 = Workbooks("der feste Dateiname")
For each WB2 in Application.Workbooks
If WB2.Name like "E08*" Then exit for
Next
if WB2 is Nothing then
msgbox "Bitte Datei ""E08..."" öffnen."
exit Sub
end if

...
WB1.Activate
...
WB2.Acitvate
...
End Sub

wenn die Datei noch gar nicht geöffnest ist, könntest du die Datei auch beim Öffnen der Variablen zuweisen, wenn du das Öffnen in den Code interierst:
Set WB1 = Thisworkbook
If Application.Dialogs(xldialogOpen) = False Then
    Exit Sub
Else
    Set WB2 = ActiveWorkbook
End If
Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Windows.activate mit variablem Namen"