habe das automatische berechnen gernerell ausgeschaltet, jedoch bei einem Tabellenblatt brauche ist es.
Gibt's hier ne Möglichkeit?
Vielen Dank!
Gerrit
|
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
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
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
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
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
Öffne den VBA-Editor: Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Wähle das entsprechende Tabellenblatt aus: Im Projektfenster auf der linken Seite, doppelklicke auf das Tabellenblatt, in dem Du die automatische Berechnung aktivieren möchtest.
Füge den folgenden Code ein:
Private Sub Worksheet_Activate()
Calculate
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
Speichere die Änderungen und schließe den VBA-Editor.
Teste die Funktionalität: Wechsle zu dem Tabellenblatt und überprüfe, ob die Berechnung automatisch funktioniert, wenn Du eine Auswahl änderst oder das Blatt aktivierst.
Problem: "Excel automatisch berechnen funktioniert nicht."
Calculate
-Befehl die Unprotect
-Anweisung hinzu.Problem: Laufzeitfehler 9: "Index außerhalb des gültigen Bereichs."
Eine alternative Methode zur automatischen Berechnung in Excel ist die Verwendung einer speziellen Funktion in einem Modul. Du kannst ein Makro erstellen, das die Berechnung für ein bestimmtes Blatt aktiviert:
Sub BerechnungAktivieren()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.EnableCalculation = False
Next ws
ThisWorkbook.Worksheets("DeinTabellenblattName").EnableCalculation = True
End Sub
Setze den Makronamen an einen Button oder ein Ereignis, um die Berechnung zu aktivieren.
Sub AktiviereBerechnung()
ThisWorkbook.Worksheets("Tabelle1").EnableCalculation = True
End Sub
Sub BerechneAktivesBlatt()
With ActiveSheet
.EnableCalculation = True
.Calculate
.EnableCalculation = False
End With
End Sub
Calculate
-Funktion in Kombination mit SelectionChange
, um die Performance zu optimieren. So wird das Blatt nur dann berechnet, wenn es wirklich nötig ist.1. Wie kann ich die automatische Berechnung für alle Blätter wieder aktivieren?
Du kannst ein Makro schreiben, das für jedes Blatt die EnableCalculation
-Eigenschaft auf True
setzt.
2. Warum funktioniert F9
nicht mehr, nachdem ich EnableCalculation
auf False
gesetzt habe?
Die F9
-Taste wird deaktiviert, wenn die Berechnung für das Blatt manuell auf False
gesetzt wurde. Um die Funktionalität wiederherzustellen, musst Du die Berechnung erneut aktivieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen