Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenschnittfenster horizontal fixieren

Forumthread: Datenschnittfenster horizontal fixieren

Datenschnittfenster horizontal fixieren
11.07.2023 17:07:09
Adi
Hallo,
erstellt wurde eine intelligente Tabelle (1000 Zeilen, 45 Spalten) und das Arbeitsblatt ist horizontal sowie vertikal fixiert. Im Fixierten Bereich liegen auf den Spalten E-K die 5 Datenschnitt-Fenster. Wenn ich nach rechts scrolle und in eine Zelle klicke, bewegen sich die 5 Datenschnitt-Fenster in den sichtbaren Fensterbereich. Das funktioniert mit hiermit ganz gut:

(Diese Arbeitsmappe, Workbook, SheetSelectionChange)

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Raum As Shape
Dim Gerät As Shape
Dim Hersteller As Shape
Dim Typ As Shape

'specify a slicer
Application.ScreenUpdating = False
Set Raum = ActiveSheet.Shapes("Raum")
Set Gerät = ActiveSheet.Shapes("Gerät")
Set Hersteller = ActiveSheet.Shapes("Hersteller")
Set Typ = ActiveSheet.Shapes("Typ")

'change position of the slicer
With Windows(1).VisibleRange.Cells(1, 1)
Raum.Top = .Top - 193
Raum.Left = .Left + 5
Gerät.Top = .Top - 193
Gerät.Left = .Left + 97
Hersteller.Top = .Top - 193
Hersteller.Left = .Left + 368
Typ.Top = .Top - 193
Typ.Left = .Left + 510
End With
Application.ScreenUpdating = True
End Sub

Jetzt mein Problem:
Nach dem Scrollen nach unten Anklicken einer Zelle wandern die 5 Datenschnitt-Fenster auch nach unten. Die sollen aber oben im fixierten Bereich stehen bleiben, damit diese immer sichtbar sind.

Weiß jemand weiter?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenschnittfenster horizontal fixieren
11.07.2023 23:06:53
Ulf
Hi Adi
Zeilen einbeziehen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Raum As Shape
    Dim Gerät As Shape
    Dim Hersteller As Shape
    Dim Typ As Shape
    'specify a slicer
    Application.ScreenUpdating = False
    Set Raum = ActiveSheet.Shapes("Rechnung")
    Set Gerät = ActiveSheet.Shapes("Gutschrift")
    'Set Hersteller = ActiveSheet.Shapes("Hersteller")
    'Set Typ = ActiveSheet.Shapes("Typ")
    '''' Anpassen bei unterschiedlichen Zeilenhöhen mitteln
    Dim lngY As Long
    Dim lngZeile As Long
    lngZeile = Target.Row
    lngY = Target.Height * lngZeile * 0.95
    ''''
    'change position of the slicer
    With Windows(1).VisibleRange.Cells(1, 1)
        Raum.Top = .Top - 193 - lngY
        Raum.Left = .Left + 5
        Gerät.Top = .Top - 193 - lngY
        Gerät.Left = .Left + 97
        'Hersteller.Top = .Top - 193
        'Hersteller.Left = .Left + 368
        'Typ.Top = .Top - 193
        'Typ.Left = .Left + 510
    End With
    Application.ScreenUpdating = True
End Sub
hth
Ulf

Anzeige
;
Anzeige

Infobox / Tutorial

Datenschnittfenster horizontal fixieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei und erstelle eine intelligente Tabelle mit den benötigten Daten.

  2. Füge Datenschnitt-Fenster hinzu: Wähle die Tabelle aus und gehe zu Einfügen > Datenschnitt. Wähle die gewünschten Felder aus, um die Datenschnitte zu erstellen.

  3. Fixiere das Fenster: Um das Excel-Fenster horizontal und vertikal zu fixieren, klicke auf Ansicht > Fenster fixieren > Oberste Zeile fixieren und Erste Spalte fixieren.

  4. Füge den VBA-Code ein: Öffne den VBA-Editor mit Alt + F11. Füge den folgenden Code in das entsprechende Arbeitsblatt ein:

    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
       Dim Raum As Shape
       Dim Gerät As Shape
       Dim Hersteller As Shape
       Dim Typ As Shape
    
       Application.ScreenUpdating = False
       Set Raum = ActiveSheet.Shapes("Raum")
       Set Gerät = ActiveSheet.Shapes("Gerät")
       Set Hersteller = ActiveSheet.Shapes("Hersteller")
       Set Typ = ActiveSheet.Shapes("Typ")
    
       With Windows(1).VisibleRange.Cells(1, 1)
           Raum.Top = .Top - 193
           Raum.Left = .Left + 5
           Gerät.Top = .Top - 193
           Gerät.Left = .Left + 97
           Hersteller.Top = .Top - 193
           Hersteller.Left = .Left + 368
           Typ.Top = .Top - 193
           Typ.Left = .Left + 510
       End With
    
       Application.ScreenUpdating = True
    End Sub
  5. Passe den Code an: Falls Du andere Datenschnitte hast, benenne die Shapes im Code entsprechend um.

  6. Teste die Funktionalität: Scrolle durch die Tabelle und klicke auf verschiedene Zellen. Die Datenschnitt-Fenster sollten nun im fixierten Bereich bleiben.


Häufige Fehler und Lösungen

  • Datenschnitt-Fenster bewegen sich nach unten: Stelle sicher, dass der VBA-Code korrekt implementiert ist und die Shapes richtig benannt sind.
  • Excel stürzt ab: Überprüfe, ob der Bildschirmaktualisierungsbefehl im Code korrekt verwendet wird (Application.ScreenUpdating).
  • Datenschnitt-Fenster sind nicht sichtbar: Stelle sicher, dass das Arbeitsblatt korrekt fixiert ist und die Shapes sich innerhalb des sichtbaren Bereichs befinden.

Alternative Methoden

  1. Excel Fadenkreuz ohne VBA: Du kannst die Datenschnitt-Fenster manuell anpassen, indem Du sie einfach an die gewünschte Position ziehst. Diese Methode ist jedoch weniger dynamisch.

  2. Datenschnitt nebeneinander anzeigen: Erstelle mehrere Datenschnitt-Fenster und arrangiere sie manuell in der gewünschten Position, ohne sie zu fixieren.


Praktische Beispiele

  • Beispiel für einen Datenschnitt: Angenommen, Du hast eine Tabelle mit Verkaufsdaten. Du kannst Datenschnitt-Fenster für Produkte, Regionen und Verkaufszahlen erstellen. Durch das Fixieren der Fenster bleibt der Zugriff auf diese Filter immer sichtbar, während Du durch die Daten scrollst.

Tipps für Profis

  • Verwende die Workbook_SheetSelectionChange-Ereignisprozedur: Dies sorgt dafür, dass Deine Datenschnitt-Fenster dynamisch auf Änderungen reagieren.
  • Optimierung der Datenschnitt-Sichtbarkeit: Überlege, die Größe der Datenschnitt-Fenster anzupassen, um Platz zu sparen und die Übersichtlichkeit zu verbessern.
  • Zusätzliche Filter verwenden: Ergänze Deine Datenschnitte mit einem Datenschnitt-Suchfeld, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich Datenschnitt-Fenster fixieren?
Du kannst Datenschnitt-Fenster fixieren, indem Du den oben beschriebenen VBA-Code verwendest, um die Position der Shapes beim Scrollen anzupassen.

2. Was ist der Unterschied zwischen horizontal und vertikal fixieren?
Das horizontale Fixieren hält die obersten Zeilen sichtbar, während vertikales Fixieren die ersten Spalten fixiert. Du kannst beide Methoden kombinieren, um eine bessere Übersicht zu erhalten.

3. Gibt es eine Möglichkeit, die Datenschnitt-Fenster automatisch anzupassen?
Ja, mit VBA kannst Du die Position und Größe der Datenschnitt-Fenster dynamisch anpassen, basierend auf der Zellhöhe und -breite.

4. Wie kann ich die Datenschnitt-Sichtbarkeit verbessern?
Du kannst die Größe der Shapes anpassen oder zusätzliche Filter hinzufügen, um die Benutzererfahrung zu optimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige