Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

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

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

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige