09.07.2018, 07:23
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2018, 08:16 von Mr.Invisible.)
Hallo Zusammen,
in meiner Excel Arbeitsmappe 1 habe ich einen CommandButton der mir eine neue Arbeitsmappe erstellt, in der ich gerne mit VBA einen CommandButton mit Code einfügen möchte. Allerdings erhalte ich immer die Fehlermeldung: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs".
Wie muss ich meine Code ändern damit das Funktioniert?
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule --> Dieser Teil spuckt den Fehler aus.
Bei der Makro-Sicherheit habe "Zugriff auf das VBA-Projektobjektmodell vertrauen" aktiviert.
Ich hoffe jemand kann mir hierzu helfen. Danke
EDIT:
Konnte eine Lösung finden.
Mit With ActiveWorkbook.VBProject.VBComponents(Worksheet(ActiveSheet.Name).CodeName).CodeModule funktioniert es.
in meiner Excel Arbeitsmappe 1 habe ich einen CommandButton der mir eine neue Arbeitsmappe erstellt, in der ich gerne mit VBA einen CommandButton mit Code einfügen möchte. Allerdings erhalte ich immer die Fehlermeldung: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs".
Wie muss ich meine Code ändern damit das Funktioniert?
Code:
Sub New_Workbook_Click()
Dim relativePath As String
Dim btn1 As Object
Dim Code As String
' Add New Workbook and save it in same Folder:
Workbooks.Add
relativeString = ThisWorkbook.Path & "\Test2"
ActiveWorkbook.SaveAs Filename:=relativeString & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
' Add CommandButton:
Set btn1 = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=105, Top:=175, Width:=50, Height:=25)
ActiveSheet.OLEObjects(1).Object.Caption = "Watch"
btn1.Name = "Watch AZ"
Code = "Sub Watch_Click()" & vbCrLf
Code = Code & "Call Watch_AZ_Sheet" & vbCrLf
Code = Code & "End Sub"
' DIESER TEIL VERURSACHT DENN FEHLER:
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
.insertlines .CountOfLines + 1, Code
End With
End Sub
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule --> Dieser Teil spuckt den Fehler aus.
Bei der Makro-Sicherheit habe "Zugriff auf das VBA-Projektobjektmodell vertrauen" aktiviert.
Ich hoffe jemand kann mir hierzu helfen. Danke
EDIT:
Konnte eine Lösung finden.
Mit With ActiveWorkbook.VBProject.VBComponents(Worksheet(ActiveSheet.Name).CodeName).CodeModule funktioniert es.