Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Private Sub Workbook_Open()

Forumthread: Private Sub Workbook_Open()

Private Sub Workbook_Open()
30.04.2003 15:43:35
Renate
Hallo
Wer kann mir helfe?
Ich wollte wenn ich meine mappe aufmachen das folgende
Private Sub Workbook_Open()
'Das klappt bei mir nicht statt 30.04.2003 ist 37741, es egal was ich tut.
'Also was machen ich falsch?
Dim i As Integer
Sheets("Tabelle2").Columns("B:B").Select
' oder Sheets("Tabelle2").Columns("B").Select
Selection.NumberFormat = "mm/dd/yyyy"
With Selection
.HorizontalAlignment = xlGeneral
End With
‘Hier weitere Funktion von mir das funktionier auch sehr gut
End Sub
Gruß Renate
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Private Sub Workbook_Open()
30.04.2003 15:52:02
Michael Scheffler
Hi,

das Ganze kommt in das Modul "DieseArbeitsmappe" bzw. "ThisWorkbook".

Gruß

Micha

Re: Private Sub Workbook_Open()
30.04.2003 16:26:35
Rolf, Lgh.
Hallo Renate,
so?
Worksheets("Tabelle2").Activate
Columns(3).NumberFormatLocal = "TT.mm.JJJJ"
Gruß Rolf
Re: Private Sub Workbook_Open()
30.04.2003 17:15:33
Renate
Hallo Rolf
Leider nicht...... immer noch das gleicht
Gruß Renate
Anzeige
Re: Private Sub Workbook_Open()
30.04.2003 17:38:39
Rolf, Lgh.
... wie sieht Dein Code jetzt aus ...
Re: Private Sub Workbook_Open()
30.04.2003 17:43:43
Renate
hallo
Private Sub Workbook_Open()
Dim i As Integer
Worksheets("Tabelle2").Activate
Columns(2).NumberFormatLocal = "TT.mm.JJJJ"
With Selection
.HorizontalAlignment = xlGeneral
End With
'weitere funktion
End Sub
Anzeige
Re: Private Sub Workbook_Open()
30.04.2003 17:45:36
Renate
hallo
Private Sub Workbook_Open()
Dim i As Integer
Worksheets("Tabelle2").Activate
Columns(2).NumberFormatLocal = "TT.mm.JJJJ"
With Selection
.HorizontalAlignment = xlGeneral
End With
'weitere funktion
End Sub
Re: Private Sub Workbook_Open()
30.04.2003 19:16:06
Rolf, Lgh.
So, oder was soll anders sein?

' Klassenmodul DieseArbeitsmappe
Option Explicit

Private Sub Workbook_Open()
  Dim i As Integer
  Worksheets("Tabelle2").Activate
  Columns(2).NumberFormatLocal = "TT.mm.JJJJ"
  Columns(2).HorizontalAlignment = xlGeneral
  'weitere funktion
End Sub

Anzeige
Berichtigung
30.04.2003 19:59:59
Rolf, Lgh.
' Klassenmodul DieseArbeitsmappe

Option Explicit

Private Sub Workbook_Open()
  Dim i As Integer
  Worksheets("Tabelle2").Activate
  Columns(2).NumberFormatLocal = "TT.MM.JJJJ"
  Columns(2).HorizontalAlignment = xlGeneral
  'weitere funktion
End Sub

     Code eingefügt mit Syntaxhighlighter 1.13


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatisierung mit Private Sub Workbook_Open in Excel


Schritt-für-Schritt-Anleitung

Um den Private Sub Workbook_Open in Excel korrekt zu implementieren, folge diesen Schritten:

  1. Öffne die Excel-Datei, in der du den Code implementieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Suche im Projektfenster nach "DieseArbeitsmappe" (oder "ThisWorkbook").

  4. Doppelklicke auf "DieseArbeitsmappe", um das Codefenster zu öffnen.

  5. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       Dim i As Integer
       Worksheets("Tabelle2").Activate
       Columns(2).NumberFormatLocal = "TT.MM.JJJJ"
       Columns(2).HorizontalAlignment = xlGeneral
       ' Weitere Funktionen hier
    End Sub
  6. Schließe den VBA-Editor und speichere die Arbeitsmappe als Makro-fähige Datei (.xlsm).

  7. Schließe und öffne die Arbeitsmappe erneut, um zu testen, ob der Code wie gewünscht funktioniert.


Häufige Fehler und Lösungen

  • Fehler: Datumsformat wird nicht korrekt angezeigt

    • Stelle sicher, dass du das richtige Datumsformat verwendest, z.B. TT.MM.JJJJ. Manchmal kann ein falsches Format wie mm/dd/yyyy zu unerwarteten Ergebnissen führen.
  • Fehler: Code wird nicht ausgeführt

    • Überprüfe, ob der Code in "DieseArbeitsmappe" eingefügt wurde. Der Private Sub Workbook_Open muss genau dort platziert werden, damit er beim Öffnen der Arbeitsmappe ausgeführt wird.
  • Fehler: Auswahl nicht funktionsfähig

    • Wenn du Selection verwendest, stelle sicher, dass du vorher die richtige Tabelle aktivierst, wie in der Anleitung beschrieben.

Alternative Methoden

Falls du eine andere Methode zur Automatisierung beim Öffnen der Arbeitsmappe ausprobieren möchtest, kannst du auch den Worksheet_Open-Event verwenden. Dies erfordert jedoch einen anderen Ansatz:

  1. Füge den Code in das spezifische Arbeitsblatt-Modul ein, anstatt in "DieseArbeitsmappe".
  2. Der Code sieht dann so aus:

    Private Sub Worksheet_Activate()
       Columns(2).NumberFormatLocal = "TT.MM.JJJJ"
       Columns(2).HorizontalAlignment = xlGeneral
    End Sub

Diese Methode wird ausgeführt, wenn das Arbeitsblatt aktiviert wird.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Private Sub Workbook_Open in verschiedenen Szenarien verwenden kannst:

  1. Automatisches Formatieren einer Tabelle:

    Private Sub Workbook_Open()
       With Worksheets("Tabelle2")
           .Columns("B:B").NumberFormat = "TT.MM.JJJJ"
           .Columns("B:B").HorizontalAlignment = xlCenter
       End With
    End Sub
  2. Daten aktualisieren:

    Private Sub Workbook_Open()
       Worksheets("Daten").Range("A1").Value = Now
    End Sub

Tipps für Profis

  • Verwendung von Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um mögliche Laufzeitfehler zu vermeiden:

    Private Sub Workbook_Open()
       On Error Resume Next
       Worksheets("Tabelle2").Columns(2).NumberFormatLocal = "TT.MM.JJJJ"
       On Error GoTo 0
    End Sub
  • Dokumentation: Kommentiere deinen Code gründlich, um die Funktionalität für zukünftige Änderungen klar zu machen.


FAQ: Häufige Fragen

1. Frage
Wie kann ich den Workbook_Open-Event für mehrere Arbeitsblätter nutzen?
Antwort: Du musst den Code in jedes spezifische Arbeitsblatt-Modul einfügen oder eine Schleife im Workbook_Open-Event verwenden, um durch die Arbeitsblätter zu iterieren.

2. Frage
Was passiert, wenn ich die Datei als .xls speichere?
Antwort: Wenn du die Datei als .xls speicherst, werden Makros nicht unterstützt. Du musst die Datei als .xlsm speichern, um die Private Sub Workbook_Open-Funktion nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige