Show All Data unsicher bei Worksheet deactivate
Dietmar
01
ich habe in einer Arbeitsmappe eine Statistikseite, die regelmäßig in der letzten freien Zeile _ durch folgendem Code mit Daten befüllt wird:
Sub TagesergebnisInStatistik()
Application.EnableEvents = False
With Worksheets("Statistik")
.Unprotect Password:="1234"
.Range("A28:Z28").Copy
.Range("A30").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.Range("A30:Z30").Copy
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:= _
xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.Protect Password:="1234"
End With
Zur Erläuterung:In der Zeile 28 befinden sich Verknüpfungsergebnisse, die ich kopiere und dann nach Zeile 30 kopiere um dort dann Werte zu erzeugen.
Diese Zeilen befinden sich in ausgeblendeten Zeilen (ist umständlich, ich weiß, funzt aber gut).
Die Wert der Zeile 30 werden dann kopiert und in die letzte freie Zeile (sichtbarer Bereich) kopiert.
Dort stehen sie dann für Auswertungszwecke zur Verfügung und können auch gefiltert werden.
02
Um sicherzustellen, dass dem Übertragungs-Code (siehe oben) stets die letzte frei Zeile zur Verfügung steht, verwende ich den nachfolgenden Code, um beim Verlassen des Statistik-Sheets wieder alle Daten anzuzeigen. Ich habe nämlich festgestellt, dass Excel keine Daten überträgt, wenn nicht alle Daten eingeblendet sind.
Warum das so ist weiß ich nicht.
Hier der Code zum einblenden aller weggefilterten Zeilen (der Code steht in "Diese Arbeitsmappe" _ ):
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim AktSheet As String
AktSheet = Sh.Name 'Name des Blattes das du verlässt
If Sh.Name = "Statistik" Then
On Error Resume Next
Sh.ShowAllData
On Error GoTo 0
End If
End Sub
03
Nun zum Problem:
Excel schafft es bei einigen meiner Mitarbeiter nicht, dass beim Verlassen des Statistik-Sheets alle weggefilterten Zeilen wieder eingeblendet werden. Die Folge: der Datenübertrag in die letzte freie Zeile funktioniert nicht.
04
Meine Frage:
Was mache ich falsch?
Gibt es eine andere Möglichkeit, sicherzustellen, dass Daten auch dann in die letzte freie Zeile übertragen werden, wenn Zeilen (durch Filterungen) ausgeblendet sind?
Vielen Dank für jeden Tipp !
Viele Grüße
Dietmar aus Aachen