HERBERS Excel-Forum - das Archiv
Bearbeitungsleiste einmal anders...
doc

Hallo VBA-Kollegen -
habe hier eine (vermeintlich?) harte Nuss:
Anforderung:
Kalender über mehrere Jahre in einer Spalte unterbringen
Spalte B Zeile 10: 01.10.2009
Spalte B Zeile 11: 02.10.2009
Spalte B Zeile nn: 07.05.2013
usw.
Die Spalten daneben sind belegt.
Problem:
Aus den der Spalte B foldenden Spalten ist beim "tiefen" scrollen zwar ersichtlich,
auf welchem Datum man im Moment steht, jedoch nicht in welchem Jahr
(Monat, Wochentag, Wochentagname und Kalenderwoche sind angegeben, das Jahr
jedoch nur beim Jahreswechsel).
Bisherige Lösung:
Im Worksheet_SelectionChange kann die aktuelle Curserposition ohne Probleme
abgefangen, das Datumsfeld ermittelt und mitsamt dem Jahr in irgendeiner Zelle
im fixierten Fensterbereich angezeigt werden.
Soweit und auch so gut.
Aber:
Wie erwartet wird bei jeder Curserbewegung das SelectionChange-Ereignis
aufgerufen, was das schnelle scrollen deutlich verlangsamt (obwohl der Code
sehr übersichtlich ist).
Grundsätzlich zeigt aber die Bearbeitungsleiste - auch beim schnellsten schrollen - immer
und immer schnell den tatsächlichen Zellwert an.
Daher die Frage:
Gibt es z.B. über die API eine Möglichkeit, den Wert der gerade aktuell gewählten
Zelle ohne das performancelastige Worksheet_SelectionChange Ereignis auszulösen
in eine andere Zelle zu schreiben, um ein unbehindertes und schnellen scrollen
zu ermöglichen?
Bin mal auf die Vorschläge gespannt,
Einstweilen - Vielen Dank -
Gruß
Doc

AW: Bearbeitungsleiste einmal anders...
Adelhorst

Hallo Doc
Wieso fixierst du nicht die ersten beiden Spalten, dann hast du links immer die Datumsspalte im Blick?
Gruß Adelhorst
AW: Bearbeitungsleiste einmal anders...
Adelhorst

Hallo Doc
Noch eine Idee:
  • Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.StatusBar = "Datum: " & Cells(Target.row, "B")
    End Sub
    


  • Gruß Adelhorst
    AW: Bearbeitungsleiste einmal anders...
    doc

    Hallo Adelhorst,
    Danke erst einmal für die Antworten.
    Zur Fixierung der Spalten:
    Löst das Problem nicht, da die Jahreszahl durch das vorgegebene Layout nur am
    Jahresanfang stehen darf.
    Die ersten 30 Tage des Jahres ist das Jahr noch zu sehen, dann verschwindet es
    durch das scrollen.
    Zur Statusleiste
    Dies ist eine guter Lösungsansatz und auf jeden Fall performanter. Ich fürchte nur, das es für
    den User eher ungewohnt ist Sicher kommt: "Können Sie nicht dafür sorgen dass.... - und
    noch in Farbe".
    Gruß
    Doc
    Bezieht sich auf diese Nachr
    AW: Bearbeitungsleiste einmal anders...
    Adelhorst

    Hallo Doc
    Was für ein Code steht denn in dem Worksheet_SelectionChange-Ereignis im Moment bei dir drinnen, um diese Anzeige zu realisieren?
    Stehen da noch andere Aktivitäten drinnen, oder nur dieses Anzeigeproblem?
    Vielleicht kann man ja den Code noch tunen?
    Gruß Adelhorst
    AW: Bearbeitungsleiste einmal anders...
    Jonas

    Hallo Adelhorst,
    Habe verschiedene Varianten geprüft - die hier
    läuft noch am besten:
    Cells(5, 4).Value = Cells(ActiveCell.Row, 5).Value
    (ist auch ganz bewusst der einzige Code - keine If's keine Schleifen etc.)
    Gruß
    Doc
    AW: oder einfach per Formel?
    Jonas

    Hallo Erich -
    Danke für die Hinweise.
    Meine Erfahrungen in diesen (aktuellen) Angelegenheiten lassen mich vorsichtig bleiben.
    Zur Sache:
    Nein - es stehen für den Auswertungskopf knapp 4 Zeilen zur Verfügung die einfach
    fixiert werden können.
    Die Spalten links neben den Daten unter dem fixierten Fenster sind vorgegeben und sollen
    - wunschgemäß - frei bleiben (gegebenenfalls wird hier vom Nutzer noch etwas
    hineingeschrieben).
    Das genze stellt sicher kein "existenzielles" Problem dar, würde dem eher unerfahrenen Nutzer
    dieser Datei aber die Übersicht erleichtern.
    Gruß
    Dr. J.Hansen
    Username - Vorname- Infos
    Erich

    Hi Jonas,
    wenn du nur bei deinem Usernamen "doc" geblieben wärest und deinen Beitrag nur mit "Gruß Jonas"
    beendet hättest, wäre das im Sinne der Forumsregeln schon völlig ok gewesen.
    So hast du jetzt vielleicht mehr als nötig verraten. Vielleicht aber auch nicht... ;-)
    Grüße von Erich aus Kamp-Lintfort