Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Calculate

Calculate
03.12.2005 10:09:33
Friedrich
Hallo und guten Morgen,
ich habe aufgrund der etwas langen Berechnungszeit meiner Formeln den Code leicht geändert, indem ich die Formeln der einzelnen Monate mit Bereichsnamen versehen habe.
Habe jetzt 2 Probleme mit u.a. Code.
1. mit Calculate funkt das PasteSpecial nicht mehr- und ohne Calculate davor wird die Datenreihe zwar übertragen, aber das Datum wird nicht als Datum sondern als Datumswert angezeigt. In einer Testmappe funkt es einwandfrei mit xlValues.
2. wo genau muß das Umschalten auf manuelle Berechnung eingefügt werden und wo wieder ausgeschaltet.
Nachdem die MsgBox des Monats angezeigt wird rechnet das Prog nachwievor komplett alle Formeln durch.
Wo liegt der Fehler?
Da die Daten lediglich zur Anzeige eines Diagramms dienen, könnte es u.U. besser sein sie in ein Array einzulesen und dort zu verarbeiten. Was meint ihr dazu?
Public &ltpre&gt
Sub DatenUebertrag(b As String)
Dim datei As String
Dim blatt As String
blatt = ThisWorkbook.ActiveSheet.name
MsgBox "Das Blatt das Daten überträgt heißt: " & blatt
Select Case b
Case "Früh": spalte = 4
Case "Spät": spalte = 5
Case "Nacht": spalte = 6
Case sondername: spalte = 7
End Select
MsgBox "Spalte: " & spalte
datei = "Statistik.xls"
If DateiVorhanden(datei) Then
MsgBox "Statistik vorhanden"
If DateiOffen(datei) Then
MsgBox "Statistik ist geöffnet und wird jetzt geschlossen !"
Workbooks("Statistik").Close False
End If
Else
MsgBox "Statistik ist nicht vorhanden"
Exit Sub
End If
' Application.ScreenUpdating = False
GetObject (Application.Workbooks("Dienstbericht").Path & "\Statistik.xls")
' Application.ScreenUpdating = True
Workbooks("Dienstbericht").Sheets("Berechnungen").Activate
Range(Cells(9, spalte), Cells(30, spalte)).Select
Selection.Copy
Workbooks("Dienstbericht").Sheets(blatt).Select
Workbooks("Statistik").Sheets("Daten").Activate
letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
MsgBox letzte
Application.Calculation = xlCalculationManual
' Application.EnableEvents = False
Sheets("Daten").Cells(letzte, 2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
If IsDate(Cells(letzte, 2)) Then
monat = Month(Cells(letzte, 2))
MsgBox monat
Select Case monat
Case 1: Range("Januar").Calculate
Case 2: Range("Februar").Calculate
Case 3: Range("März").Calculate
Case 4: Range("April").Calculate
Case 5: Range("Mai").Calculate
Case 6: Range("Juni").Calculate
Case 7: Range("Juli").Calculate
Case 8: Range("August").Calculate
Case 9: Range("September").Calculate
Case 10: Range("Oktober").Calculate
Case 11: Range("November").Calculate
Case 12: Range("Dezember").Calculate
End Select
End If
Application.Calculation = xlCalculationAutomatic
' Application.EnableEvents = False
Application.CutCopyMode = False
Workbooks("Statistik").Close True
End Sub&lt/pre&gt

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur ein Hinweis, ...
03.12.2005 12:54:47
Luc:-?
...Friedrich,
wenn du auf xlCalculationAutomatic stellst, wird xl wohl immer sofort alles neu berechnen, wahrscheinlich auch bei xlCalculationSemiAutomatic. Musst dann wohl bei manuell bleiben.
Gruß Luc :-?
PS: Hattest bei einführendem "pre" die 1.Spitzklammer vergessen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige