Während dies nicht das erste Mal ist, dass ich Makros wie dieses schreibe, kann ich nicht herausfinden, wie ich das zum Laufen bekomme. Ich habe eine darunter geschnitten, dass ich denke, sollte funktionieren, aber nicht.Wie kann ich ActiveWorkbook/Workbooks (Name) verwenden, ohne einen Laufzeitfehler 91 in Excel 2013 VBA zu erhalten?
Mein Problem ist, dass zu Beginn meiner Arbeit Tag, während der snipped arbeitete genau einmal, dann aber immer die '91 Runtime Error erhalte ich: Objektvariable oder with-Blockvariable nicht gesetzt Fehlermeldung.
Ich habe zwei Arbeitsmappen geöffnet, und ich wählte Zellen in der Arbeitsmappe, die ich mit manuell vor dem Start des Makros arbeiten wollte.
Option Explicit
Sub test()
Dim source, sheet As Worksheet
Dim sourcename As String
Dim targetname As String
Dim test As Workbook
Workbooks("Test.xlsm").Activate
test = ActiveWorkbook
Debug.Print (test.Name)
sourcename = "Tabelle1"
targetname = "Tabelle2"
Set sheet = ActiveWorkbook.Worksheets(sourcename)
Set source = ActiveWorkbook.Worksheets(targetname)
Debug.print(sheet.Name)
Debug.print(source.Name)
End Sub
Der Fehler tritt in der Zeile mit test = ActiveWorkbook
EDIT: Nachdem die anfänglichen Set
Fehler behoben wurden, die Blatt und Quelle Variablen sind noch leer, so dass jeder eines anderen Fehler verursacht von diesem Typ.
Was ist das Problem hier und wie kann ich es beheben?
ich diese Fragen gefunden haben, die rela scheinen ted, aber ich kann nicht sehen, dass sie in meinem Fall funktionieren: [Fehler "Objektvariable oder Mit Blockvariable nicht gesetzt"] (http://stackoverflow.com/questions/17691458/getting-error-object-variable-or -with-block-variable-not-set) und [VBA run-time error '91': Objektvariable oder With block variable nicht gesetzt] (http://stackoverflow.com/questions/26551262/vba-run-time- error-91-object-variable-oder-mit-block-variable-not-set) –
Beide Qs weisen Sie auf die Antwort: Verwenden Sie 'Set' –
@chrisneilsen ja, In diesem Fall scheint es, ich brauchte nur ein zweites Paar von Augen, wie ich das seit zwei Stunden gesehen habe, obwohl ich die gleichen Methoden ein Dutzend Mal zuvor verwendet habe. –