Hallo Leute,
ich habe ein Makro geschrieben, was nun auch anderen Kollegen zugänglich gemacht werden soll. Daher habe ich es nun in ein Addin umgeschrieben.
Es erstellt unter anderem ein Tabellenblatt, welches eine Schaltfläche enthält.
Über folgende Anweisung habe ich dem Button eine Aktion zugewiesen:
With ActiveWorkbook.VBProject.VBComponents(7).CodeModule
.InsertLines .CountOfLines + 1, "Private Sub cmd\_projektauswahl\_Click()"
.InsertLines .CountOfLines + 1, "Application.Run ""Personl.xls!projektauswahl\_öffnen"""
.InsertLines .CountOfLines + 1, "End Sub"
End With
Das hat alles super funktioniert aus der persönlichen Arbeitsmappe. Nachdem ich nun den Code ins Addin „Auswertung.xla“ kopiert habe, funktionierts nicht mehr (Error 1004: Excel kann das Makro nicht finden)
With ActiveWorkbook.VBProject.VBComponents(7).CodeModule
.InsertLines .CountOfLines + 1, "Private Sub cmd\_projektauswahl\_Click()"
.InsertLines .CountOfLines + 1, "Application.Run ""Auswertung.xla!projektauswahl\_öffnen"""
.InsertLines .CountOfLines + 1, "End Sub"
End With
Ich habe in allen Modulen und Userforms „Personl.xls“ mit „Auswertung.xla!“ ersetzt. Auswertung.xla ist auch offen (Denn aus diesem Addin heraus wird ja alles gestartet).
Setze ich jedoch folgenden Code ein, funktioniert es.
With ActiveWorkbook.VBProject.VBComponents(7).CodeModule
.InsertLines .CountOfLines + 1, "Private Sub cmd\_projektauswahl\_Click()"
.InsertLines .CountOfLines + 1, "Workbooks.Open Filename:=""\>\Auswertung.xla"""
.InsertLines .CountOfLines + 1, "Application.Run ""projektauswahl\_öffnen"""
.InsertLines .CountOfLines + 1, "End Sub"
End With
Das ist aber blöd, weil jeder Kollege das Makro dorthin verschieben können soll, wo er will und nicht alle Rechner auf alle Netzlaufwerke zugreifen können.
Wie kann man dieses Problem lösen? Wäre cool wenn einer nen Tipp hat. Ich benutze übrigens Excel 2003 SP2
Gruß,
Micha