makor ausführen
03.05.2006 13:09:07
Torsten
Ich habe 2 Workbooks geöffnet. in dem einen Workbook ("1") lasse ich mir eine Userform des Workbooks "2" über den Code
application.run ("2.xls!test")
*modul im Workbook 2:
Sub test()
Userform1.Show
End Sub
anzeigen.
Nun habe ich in dem Userform1 eine Listbox("Themen"), in die ich Daten aus dem Workbook "2" einlesen lasse.
Userform_Activate ()
For i = 1 To 900
If Sheets("ThemenFS").Cells(i, 1).Value Themen.AddItem (Workbooks("Crosspromotion_2006.xls").Sheets
("ThemenFS").Cells(i, 1).Value)
i = Themen.ListIndex + 1
Next
Weiter:
End Sub
Wenn ich mir die Userform1 anzeigen lassen will, dann wird das Makro test ausgeführt, indem die Userform1 gezeigt werden soll und dann gelange ich den Codebereich der Userform1. Das Makro der Userform_Activate bezieht sich aber auf das Workbook "2", ich bin indes im Workbook "1" sodass mir die Fehlermeldung "Index außerhalb des gültigen Bereichs" angezeigt wird.
Das Problem kann ich zwar damit umgehen, das ich dem Code voranstelle
workbooks("2.xls").activate
nur das ist keine gute Lösung, da ich in meinem Workbooks "1" bleiben will. Außerdem ist es so zu umständlich, wenn ich danach dann wieder das Workbook 1 activieren und dem ganzen Vorgang dabei zusehen muss.
Kann mir jemand vielleicht helfen und mir sagen, wie man bewerkstelligen kann, dass in einem Workbook(1) ein Makro eines anderen Workbooks(2) ausgeführt wird (dieses makro braucht Daten aus dem Workbook(2) in dem es steht) und mir quasi nur das Ergebnis in meinem Workbook(1) mitgeteilt wird.
Danke für Eure Hilfe!
Grüße Torsten