2017-10-30 2 views
0

Also ich versuche, ein Makro zu erstellen, das eine Zelle aktualisiert, wenn die Datei geöffnet wird. Ich bekomme den Fehler 424 und so versuchte ich, meinen Code/Objekt besser zu definieren, aber es war immer noch nicht erfolgreich. Ich denke, ich vermisse/übersehe etwas wirklich Einfaches, aber ich kann es nicht herausfinden und dies ist mein erstes Projekt, also versuche ich zu lernen und ein besseres Verständnis zu erlangen, dann google ich nur ein Teil des Codes, der funktionieren wird.Excel Datei Open Macro

Private Sub Auto_Open() 

    Dim Try1 As String 
    Try1 = ActivateSheet.Cells(3, 2).Select 
    Tryl = "-" 

    ' My first attempt is shown below 
    ' 
    'Sheets("Current Calc").Activate 
    'ActivateSheet.Cells(3, 2).Value = "-" 

End Sub 

Antwort

2

Sie haben sein ...

Sheets("Current Calc").Activate 
ActiveSheet.Cells(3, 2).Value = "-" 

Auch

Was haben Sie ...

Sheets("Current Calc").Activate 
ActivateSheet.Cells(3, 2).Value = "-" 

Was sollte es einen Tippfehler in Ihrem kommentierten Code bekam, Ich sollte erwähnen, dass Sie vermeiden sollten, .Activate und .Select zu verwenden, es sei denn, notwendig. Mit diesem wird gesagt, würde ich den Code unten stattdessen vorschlagen ...

Sheets("Current Calc").Cells(3, 2).Value = "-" 

EDIT:

Wenn Auto_Open verwenden, muss Excel MANUALLY, um für den Code geöffnet werden auszuführen; Wenn es also über VBA geöffnet wird, wird dieses Ereignis NICHT ausgelöst. Wenn Sie eine Veranstaltung möchten als auch manuell per VBA auszulösen, würde ich vorschlagen Workbook_Open

+1

Danke für die Rückmeldung. Nochmal Tippfehler und nicht alle meine Optionen zu kennen sind mein Sturzfall. – icstarz2

1

Versuchen Sie, mit dem folgenden Unter mit:

Private Sub Workbook_Open() 

    Dim Try1 As String 

    Try1 = ActiveSheet.Cells(3, 2).Select 
    Tryl = "-" 

End Sub 

Einige Hinweise:

  1. schreiben Sie Ihren Code in Kleinbuchstaben. Wenn Sie eine Zeile ändern, wird Ihr Code automatisch in Groß- und Kleinschreibung geändert. Auf diese Weise werden Sie feststellen, ob Sie einen Tippfehler haben.
  2. schreiben Sie eine Funktion oder Objekt Amintyp . Dies öffnet eine Dropdown-Liste, auf diese Weise vermeiden Sie auch Tippfehler.
+0

Danke für den Hinweis und die "besten Programmierpraktiken". Ich möchte immer weiter lernen und mich verbessern. Sind Ihnen irgendwelche Listen von VBA besten Programmierpraktiken bekannt, die ich lesen konnte? – icstarz2

+0

Hallo, es ist ein Vergnügen. Sie können [Excel VBA-Leistung] (https://blogs.office.com/en-us/2009/03/12/excel-vba-performance-coding-best-practices/) und [VBA Best Practices] (http : //www.spreadsheet1.com/vba-development-best-practices.html) –