Excel 97 Makro beim öffnen starten

Hi Ihr

Mit VBA kenn ich mich leider kaum aus.
Problem:
Ich will (testweise) 2 Checkboxen beim öffnen des Dokuments ausklicken. (=Der Haken soll verschwinden)
Ich hab das soweit hinbekommen, dass es weggeht, wenn ich das Makro per Hand ausführe und wenn ich die Tabellen wechsle. Ich hätte es aber gerne beim öffnen. Hier mein Source Code:

Sub auto_open()
'Test bzgl. auto_open()
Call CheckBox2
End Sub

Sub Worksheet_Activate()
Call CheckBox1
'Ausführen des Makros bei Tabellenwechsel
End Sub

Private Sub CheckBox1()
'Der Haken wird ausgeblendet, wenn er aktiv ist, wenn nicht, passiert nix
If cb1.Value = True Then
cb1.Value = False
Else
cb1.Value = False
End If

End Sub

Private Sub CheckBox2()

If cb2.Value = True Then
cb2.Value = False
Else
cb2.Value = False
End If

End Sub

freue mich über Eure Hilfe

mfG
hEll

Workbook_Open()
Öffne mit Alt+F11 den Makro-Editor, klicke Rechte Maustaste auf die gewünschte Arbeitsmappe (im Projektexplorer-Fenster) und wähle „Code anzeigen“.

Darauf öffnet sich ein (normalerweise) leeres Codefenster. Dort wählst Du oben statt „(Allgemein)“ den Eintrag „Workbook“ aus. Daraufhin wird ein leeres Makro Workbook_Open() generiert, welches automatisch immer beim Öffnen der Tabelle startet. Von dort aus kannst Du auch andere Makros starten.

Beachte, daß „private“ Makros nur aus dem gleichen Codefenster gestartet werden könnnen. „Public“ Makros können von überall gestartet werden.

Gruß
(Woly)

Hallo hEll!

die Logik stimmt, aber …

Private Sub CheckBox1()
'Der Haken wird ausgeblendet, wenn er aktiv ist, wenn nicht,
passiert nix

If cb1.Value = True Then
cb1.Value = False
Else
cb1.Value = False

und hier, bestimmst du dass doch was passiert! Du setzt hier unnötig einen Wert.

End If

Die Else ist auf jeden Fall unnötig. Die If kannst du dir hier auch sparen, DENN :

Der Haken wird ausgeblendet. Punkt

cbl.Value=False

Du brauchst hier keine Bedingungsprüfung, verstehst du?

MfG.
Marc

[thx] // TextBox-Inhalt in eine andre kopieren
Dank Euch :smile:
Funktioniert so wie es soll. thx

soooooo nun zum nächsten Problem. *g*

Ich würde gerne (beim Öffnen des Arbeitsblattes) die Werte einer Textbox in eine andere kopieren.
Sprich die Zahlen vom Vortag sollen in eine andere Textbox kopiert werden und die EingabeTextBox soll gelöscht werden damit neue Werte eingetragen werden können. Die Hilfe von Excel 97 bietet mir zwar ein Beispiel an, das genau die Aufgaben erfüllt, die ich bräuchte, allerdings bricht es beim Durchlaufen mit Laufzeitfehler (91) ab und ich verstehe zu wenig von VBA um es selbst zu
debuggen :´(
(noch *g*)

Wär klasse wenn Ihr auch dieses wüsstet

mit freundlichen Grüssen

hEll

PS:
Source Code:

Dim TestDaten As DataObject

Sub CommandButton1_Click()
Call clear_worksheet
Call copy_textboxes

End Sub

Private Sub clear_worksheet()
Call CheckBox1
Call CheckBox2
End Sub

Private Sub CheckBox1()

cb1.Value = False

End Sub

Private Sub CheckBox2()

cb2.Value = False

End Sub

Private Sub copy_textboxes()
'© by Microsoft aus der Hilfe entnommen
'Start - Hilfe-Beispiel-Datei
TextBox1.SelStart = 0
TextBox1.SelLength = TextBox1.TextLength
TextBox1.copy

TestDaten.GetFromClipboard
TextBox20.Text = TestDaten.GetText(1)

End Sub

Private Sub UserForm_Initialize()
Set TestDaten = New DataObject
TextBox1.Text = „Diese Daten in die Zwischenablagen, in ein DataObject und dann in TextBox20 verschieben!“
'Ende Hilfe Beispieldatei
End Sub