Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Show All Data unsicher bei Worksheet deactivate

Forumthread: Show All Data unsicher bei Worksheet deactivate

Show All Data unsicher bei Worksheet deactivate
Dietmar
Hallo in die Runde,
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
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Show All Data unsicher bei Worksheet deactivate
02.03.2011 17:42:24
Nepumuk
Hallo,
versuch es mal so:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    With Sh
        If .Name = "Statistik" Then
            If .FilterMode Then
                .Protect Password:="1234", UserInterfaceOnly:=True
                .EnableAutoFilter = True
                .ShowAllData
            End If
        End If
    End With
End Sub

Du schützt die Tabelle, gibst aber den Autofilter nicht frei. Daher kann er auch nicht deaktiviert werden. Außerdem muss er nur deaktiviert werden, wenn er tatsächlich aktiv ist.
Gruß
Nepumuk
P.S. War gestern erst in Aachen (GPM-Forum bei Grünenthal)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige