Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatisch berechnen nur in einem Tabellenblatt

Automatisch berechnen nur in einem Tabellenblatt
20.06.2009 23:56:05
Gerrit
Moin,
habe das automatische berechnen gernerell ausgeschaltet, jedoch bei einem Tabellenblatt brauche ist es.
Gibt's hier ne Möglichkeit?
Vielen Dank!
Gerrit

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 00:05:08
Lenni
Moin Gerrit!
Vielleicht so:


Private Sub Worksheet_Activate()
Calculate
End Sub



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub



Via VBA-Editor in das betreffende Tabellenblatt einfügen.
Viele Grüße aus dem hohen Norden!
Lenni

PS ...Rückmeldung wäre nett. Danke!
Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 00:18:47
Gerrit
Moin Lenni,
danke für die schnelle Antwort. Funkt leider nicht...
Vielleicht liegt's an meinen anderen Makros!?
Grüße
Gerrit
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 00:28:50
Lenni
Hallo Gerrit!
Hast Du denn schon das "Worksheet_Activate"- und das "Worksheet_SelectionChange"-Ereignis mit anderen Code in Deinem Tabellenblatt... ...oder wie meinst Du das mit den "anderen Makros"?!?
Wenn ja, schreibe einfach "Calculate" in Deine Ereignisse mit dazu.
Hilft das?
Gruß
Lenni

AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 00:42:03
Gerrit
Ok ich habe

Private Sub Worksheet_Activate()
Calculate
End Sub



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


kopiert und in den Editor meines entsprechenden Blattes eingefügt.
Mit "anderen Makro" meine ich, dass ich in den Modulen folgende Makros stehen habe:
Sub Makro1()
Dim shQuelle As Worksheet
Dim shZiel As Worksheet
ActiveSheet.Unprotect Password:="passwort"
Dim wks
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set shQuelle = ActiveSheet
Workbooks.Add
Set shZiel = ActiveSheet
shQuelle.Cells.Copy
shZiel.Cells(1, 1).PasteSpecial xlPasteValues 'Nur Werte übernehmen
shZiel.Cells(1, 1).PasteSpecial xlPasteFormats 'Format übernehmen
Application.CutCopyMode = False
Range("A1").Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Dialogs(xlDialogSaveAs).Show
ActiveSheet.Protect Password:="passwort" 'Schutz für neue Mappe
'-------Mappe1 ändern in den Namen Deiner Org. Mappe---------
Workbooks("FM-ASSIST").ActiveSheet.Protect Password:="passwort" 'Schutz alte Mappe
End Sub


Sub Schaltfläche1_KlickenSieAuf()
If ActiveSheet.Index = 1 Then
Sheets(Sheets.Count).Activate
Else
Sheets(ActiveSheet.Index - 1).Activate
End If
ActiveSheet.Calculate 'Blatt neu berechnen
End Sub


Sub Schaltfläche2_KlickenSieAuf()
If ActiveSheet.Index = Sheets.Count Then
Sheets(1).Activate
Else
Sheets(ActiveSheet.Index + 1).Activate
End If
ActiveSheet.Calculate 'Blatt neu berechnen
End Sub


Grüße
Gerrit

Anzeige
...oder lager "Calculate" in ein Modul aus
21.06.2009 00:49:41
Lenni
Hallo Gerrit!
Oder vielleicht so: https://www.herber.de/bbs/user/62603.xls
...ich habe die "Calculate"-Anweisung mit einem Makro in ein Modul augelagert und dieses Makro wird nun via "Worksheet_Activate"- und dem "Worksheet_SelectionChange"-Ereignis aktiviert. Lasse dieses Makro in einem eigenen Modul! ...ich habe auch so meine Erfahrungen mit Makros, die sich "beißen"...
Viele Grüße aus dem hohen Norden!
Lenni

PS ...Rückmeldung wäre nett. Danke!
Anzeige
AW: ...oder lager "Calculate" in ein Modul aus
21.06.2009 01:08:29
Gerrit
Sorry, bekomme immer eine Fehlermedlung rein. Muss jetzt erstmal schlafen gehen, danke.
Vielleicht liegt es ja an folgemde meiner Makro für die Mappe, ich wette:
Sub Workbook_Open()
Dim objWS As Worksheet
For Each objWS In Me.Worksheets
With objWS
.Protect userinterfaceonly:=True, Password:="passwort"
.EnableOutlining = True 'für Gliederung
.EnableAutoFilter = True 'für Autofilter
End With
Next
End Sub



Private Sub Workbook_Activate()
'Blattregister ausblenden :
ActiveWindow.DisplayWorkbookTabs = False
End Sub



Private Sub Workbook_Deactivate()
'Blattregister einblenden wenn andere Mappe aktiviert wird :
ActiveWindow.DisplayWorkbookTabs = True
End Sub


Anzeige
O.K. ...muss Deinen Beitrag "Offen lassen"...
21.06.2009 01:20:14
Lenni
O.K. Gerrit!
Vielleicht solltest Du vor dem "Calculate"-Ereignis eine "Unprotect"- und danach Deine "Protect"-Anweisung noch einfügen?!?
Ansonsten empfehle ich Dir, eine Demo-Datei hochzuladen.
Ich muss nun leider Deinen Beitrag offen lassen. Sorry! Ich hoffe, Du kommst noch zu einer Lösung!!
Ich muss nun auch schlafen gehen! ...ich geh zur Ruh und mache meine Äuglein zu... ...das reimt sich so schön...
Gruß
Lenni

AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 09:01:28
Gerd
Hallo Gerrit!

Sub test()
Dim Wsh As Worksheet
For Each Wsh In ThisWorkbook.Worksheets
Wsh.EnableCalculation = False
Next
ThisWorkbook.Worksheets("Tabelle1").EnableCalculation = True
End Sub


Gruß Gerd

Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 10:18:55
Gerrit
Moin Gerd,
leider funktioniert das Makro nicht. Ich vermute ja, es hat was mit meinen anderen Makros zu tun. Diese habe ich in den letzten, verschiedenen Beiträgen gepostet...
Danke und Grüße
Gerrit
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 14:30:02
fcs
Hallo Gerrit,
der Ansatz von Gerd ist schon richtig. Allerdings muss du dann Berechen auch auf Automatisch (nicht Manuell!) setzen.
So werden die Berechnungen nur in den Blättern aktualisiert für die EnableCalculation auf True gesetzt ist.
Um alle Blätter wieder berechnen zu können muss du den Status bei allen Tabellenblättern wieder auf True setzen.
Diese Eigenschaft kann man übrigens im VBA-Editor für die Tabellen auch manuell setzen.
Gruß
Franz
Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 14:54:40
Gerrit
Hi,
ok ich habe folgendes gemacht und leider läuft auf allen Tabellenblättern die Berechnung automatisch:
1. Berechnen in den Optionen auf automatisch gestellt.
2. Makro in dieseArbeitsmappe kopiert.
3. Im VBA bei allen Tabellenblättern außer dem relevanten EnableCalcuation auf false gestellt.
Bei Neustart sind auch alle Einstellungen von 3. wieder auf true!?
Danke schon mal!
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 15:51:48
ramses
Hallo
"..Bei Neustart sind auch alle Einstellungen von 3. wieder auf true!?..:"
Ist klar,... diese Einstellungen sind immer nur temporär und solange gültig wie die aktive Mappeninstanz läuft.
Das muss bei jedem Mappenöffnen neu geetzt werden, also muss das Makro in das Workbook.Open Ereignis.
Gruss Rainer
Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 15:57:39
Gerrit
Hallo Rainer,
folgendes versteh ich nicht:
"also muss das Makro in das Workbook.Open Ereignis."
Kannst du das für Doofe wie mich erklären!?
Danke!
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 16:10:51
Ramses
Hallo
so doof bist du doch gar nicht
https://www.herber.de/forum/messages/1083179.html
Das Makro um die Einstellungen für "EnableCalcuation" einzustellen muss in das Open Ereignis der Mappe und bei jedem Mappenstart müssen die Settings erneut ausgeführt werden.
Diese Einstellungen können nämlich nicht gespeichert werden.
Gruss Rainer
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 16:36:39
Gerrit
Also ich habe jetzt folgendes Makro im VBA unter diesearbeitsmappe stehen:

Sub test()
Dim Wsh As Worksheet
For Each Wsh In ThisWorkbook.Worksheets
Wsh.EnableCalculation = False
Next
ThisWorkbook.Worksheets("Tabelle15").EnableCalculation = True
End Sub


Wenn ich mit F8 prüfen, bekomme ich bei " ThisWorkbook.Worksheets("Tabelle15").EnableCalculation = True" den Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.
Ich komme einfach nicht weiter

Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 16:54:08
Ramses
Hallo
Heisst deine Tabelle denn auch "Tabelle15" bzw. existiert der Name in der Mappe ?
Gruss Rainer
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 17:10:33
Gerrit
Jetzt hab ich es endlich geschafft (durch ausprobieren, hab leider keine Makro-Kenntnisse), aber ich wusste nicht, dass man durch das Makro dann die F9-Taste nicht mehr benutzen kann!!! Was mach ich jetzt denn? Ahhh.

Sub Workbook_Open()
Dim objWS As Worksheet
For Each objWS In Me.Worksheets
With objWS
.Protect userinterfaceonly:=True, Password:="passwort"
.EnableOutlining = True 'für Gliederung
.EnableAutoFilter = True 'für Autofilter
.EnableCalculation = False
End With
Next
ThisWorkbook.Worksheets("Leistungserbringungsort identif").EnableCalculation = True
End Sub


Anzeige
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 17:27:55
Ramses
Hallo
"...Was mach ich jetzt denn?..:"
mappe schliessen und wieder öffnen.
Dann müsste alles funktionieren
Gruss Rainer
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 17:31:50
Gerrit
Leider nicht, automatische Berechnung ist wie gewünscht nur bei einem Tabellenblatt drin.
Wenn ich in einem anderen Blatt F9 drücke, passiert nichts. Wusste nicht, dass mit EnableCalculation = False auch die F9-Funktion ausgeschaltet wird...
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 17:40:51
Ramses
Hallo
Ach das meinst du,... sorry. Falsch verstanden.
Nun ja, man kann nicht alles haben.
Extras - makro - Makro aufzeichnen
Namen zuweisen "CalculateSheet"
Shortcut zuweisen "Ctrl"+"B"
Aufzeichnung starten
Aufzeichnung sofort wieder beenden
Dann startest du den VB-Editor, wählst das Makro aus das du gerade aufzeichnet hast und fügst dort diesen Code zwischen "Sub..." und "End Sub" ein
With Activesheet
.Enablecalcuation = True
.Calcuate
.Enablecalcuation = False
End with
Das Makro für die Berechnung der aktuellen Tabelle kannst du dann jederzeit mit "Ctrl"+"b" starten
Gruss Rainer
AW: Automatisch berechnen nur in einem Tabellenblatt
21.06.2009 18:08:07
Gerrit
Danke!

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige