& Excel: Tabelle neu berrechnen lassen
Dennis
- vb-script
Hi an das ganze Forum, ;-)
Ich stehe hier gerade vor einem kleinen Problem mit Visual Basic in Exel.
Bekannterweise gibt es in Exel ja die Funktion ZUFALLSZAHL(), mit der sich eine Zahl zwischen 0 und 1 erzeugen lässt. Durch drücken von F9 kann man die ganze Tabelle neu berrechnen lassen, folglich werden dann auch neue Zahlen ausgegeben.
Was ich gerne machen würde, ich würde gerne einen Button einbauen, der eine die Tabelle neu berrechnen soll, genau wie F9 dies tut.
Meine Frage daher: Ist es möglich (ich glaube ja, hab aber nichts gefunden) per Visual Basic Excel einen Befehl zu erteilen die ganze Tabelle neu zu berrechen? Wenn ja, wie geht das?
Sämtliche Suchen bei Google waren bis jetzt erfolglos, auch in der VB Hilfe von Exel konnte ich mich irgendwie nicht richtig zurecht finden....
MfG, Dennis.
Hi Dennis,
Meine Frage daher: Ist es möglich (ich glaube ja, hab aber nichts gefunden) per Visual Basic Excel einen Befehl zu erteilen die ganze Tabelle neu zu berrechen? Wenn ja, wie geht das?
Mit einer Zeile:
Application.Calculate
Viele Grüße
Jörg
Hi Jörg,
Mit einer Zeile:
Application.Calculate
Hey, Danke, genau das habe ich gesucht. Danke für die schnelle Antwort!
Viele Grüße
Grüße zurück, Dennis.
Hi nochmal,
Ich hätte noch eine kleine ergänzende Frage:
Über Private Sub Worksheet_Activate() kann ich etwas ausführen lassen, wenn das Tabellenblatt aktiviert wird, z.B. wenn man unten zwichen mehreren Blätter hin- und herwechselt.
Aber das wird nicht ausgeführt, wenn Excel gestartet wird und direkt dieses Tabellenblatt angezeigt wird. Wie kann ich dieses "Event" abfangen?
Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt ;-)
MfG, Dennis.
Moin,
Aber das wird nicht ausgeführt, wenn Excel gestartet wird und direkt dieses Tabellenblatt angezeigt wird. Wie kann ich dieses "Event" abfangen?
Doppelklicke im Projektexplorer auf "DieseArbeitsmappe". Füge dann ein:
Private Sub Workbook_Open()
Application.Calculate
End Sub
Und schon wird die Mappe neu berechnet, wenn sie aufgerufen wird.
Viele Grüße
Jörg
Hi Jörg,
Doppelklicke im Projektexplorer auf "DieseArbeitsmappe". Füge dann ein:
Private Sub Workbook_Open()
Application.Calculate
End Sub
Ok, das war es aber gar nicht was ich machen wollte - also das Workbook_open() schon, aber ich wollte da folgenden VB Code in einer Tabelle ausführen:
' Beim Laden des Arbeitsblattes Default Werte setzen:
btn_start_stop.Caption = "Spiel starten"
btn_schlagen_0.Enabled = True
btn_schlagen_1.Enabled = True
btn_schlagen_1.Value = True
Range("F5") = 0
' Und den Besucher begrüßen
MsgBox ("Hallo!")
Kann ich da mit Range auch auf Zellen einer bestimmten Tabelle in "DieseArbeitsmappe" zugreifen?
Ist jetzt nicht mehr so wichtig, das Projekt habe ich gerade abgegeben (war so ein Spiel was wir in Informatik machen mussten), interessiert mich aber trotzdem noch.
MfG, Dennis.
Hi Dennis,
Range("F5") = 0
Kann ich da mit Range auch auf Zellen einer bestimmten Tabelle in "DieseArbeitsmappe" zugreifen?
Ja, da brauchst Du nur auf das Blatt zu verweisen, z. B.:
Sheets("Sowieso").Range("F5") = 0
oder
Sheets(1).Range("F5") = 0
Viele Grüße
Jörg
Hi Jörg,
Ja, da brauchst Du nur auf das Blatt zu verweisen, z. B.:
Sheets("Sowieso").Range("F5") = 0
Danke, kannte das noch nicht, da ich (wie gesagt?) erst mit VB in Exel anfange.
MfG, Dennis.
Hi Dennis,
Danke, kannte das noch nicht, da ich (wie gesagt?) erst mit VB in Exel anfange.
dann schreibe aber Excel mal mit c in der Mitte ;-)
Viele Grüße, viel Erfolg und ein schönes WE
Jörg
Hi Jörg,
Danke, kannte das noch nicht, da ich (wie gesagt?) erst mit VB in Exel anfange.
dann schreibe aber Excel mal mit c in der Mitte ;-)
*grmpf* mal lasse ich einen Buchstaben aus, mal mache ich einen zuviel...
Viele Grüße, viel Erfolg und ein schönes WE
Danke gleichfalls,
MfG, Dennis.