ich habe folgendes Problem:
Meine Arbeitsmappe muß 1 Zeile in die Statistik übertragen.
Vor der Übertagung prüfe ich ob Statistik geöffnet ist. Wenn ja, wird sie zunächst geschlossen.
Dann öffne ich Statistik mit GetObject - Übertrage die Zeile und schließe Statistik wieder.
2 Fragen:
Warum verschwindet bei zunächst geöffneter Statistik auch meine Arbeitsmappe aus dem Excel-Fenster? Und zwar in dem Moment, indem Statistik geschlossen wird.
ist Statistik bei der Überprüfung auf Offen geschlossen, bleibt die Arbeitsmappe im Fenster.
Weshalb öffnet sich die Datei Statistik seither immer ausgeblendet, auch wenn sie aus dem Exlorer per Doppelklick aufgerufen wird.
Muß sie dann immer per Fenster einblenden anzeigen.
Public
Sub DatenUebertrag(b As String)
Dim letzte As Integer
Dim datei As String
Dim blatt As String
Dim wkbD As Workbook
Set wkbD = ThisWorkbook
anz = Left(wkbD.name, Len(wkbD.name) - 4)
MsgBox anz
blatt = ThisWorkbook.ActiveSheet.name
MsgBox "Das Blatt das Daten überträgt heißt: " & blatt
Select Case b
Case "Früh": zeile = 4
Case "Spät": zeile = 5
Case "Nacht": zeile = 6
Case sondername: zeile = 7
End Select
MsgBox "Zeile: " & zeile
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
GetObject (Application.Workbooks("Dienstbericht").Path & "\Statistik.xls")
' ThisWorkbook.Sheets(blatt).Select
Workbooks("Statistik").Sheets("Daten").Activate
letzte = Workbooks("Statistik").Sheets("Daten").Cells(Rows.Count, 2).End(xlUp).Row + 1
MsgBox letzte
wkbD.Sheets("Berechnungen").Range(wkbD.Sheets("Berechnungen").Cells(zeile, 2), wkbD.Sheets("Berechnungen").Cells(zeile, 23)).Copy
Workbooks("Statistik").Sheets("Daten").Cells(letzte, 2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
If IsDate(Workbooks("Statistik").Sheets("Daten").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
Workbooks("Statistik").Close True
' Windows(wkbD.name).Visible = True '******* diese und die nachfolgende Zeile haben gleiche Wirkung *******
Windows(anz).Visible = True
End Sub
mfG Friedrich