Mit einem Listenfeld-Steuerelement zu definierten Zeilen springen (scrollen,wechseln)
#1
Hallo zusammen,
 
ich habe das Problem zum Teil sehr amateurhaft mit einer Dropdownliste gelöst. Die Lösung fand ich im Internet. Ich musste den Code für meinen Zweck anpassen, denn ich habe im Gegensatz zu der original-Datei 14 Dropdownlisten mehr , 15.
Ich habe in einer Datei im Internet ein Steuerelement (Listenfeld) gefunden. Ich habe daraus 15 Kopien erstellt, und würde sie gerne anstelle meiner Dropdownlisten verwenden.
Im Internet konnte ich nichts Gescheites finden.
Ich würde mich über jede Hilfe freuen, danke..
 
In der angehängten Datei sind die Abstände der Abteilungen zueinander regelmäßig. In der Realität sieht es ganz anders aus. Manche Abteilungen haben 26 Mitarbeiter, manch andere gerade mal 5 Mitarbeiter, aber die Anzahl der Abteilungen stimmt so.


Angehängte Dateien
.xlsm   Von Abtteilung zu Abteilung per Dropdownauswahl sprinegn, von Zeile zu Zeile springen.xlsm (Größe: 32,9 KB / Downloads: 10)
Antworten Top
#2
Hi,

wenn Du formatierte Tabellen und Datenschnitte verwendest, ist das alles kein Problem. Im Anhang hab ich Dir in Tabelle2 mal ein Beispiel gemacht...


Angehängte Dateien
.xlsm   Von Abtteilung zu Abteilung per Dropdownauswahl sprinegn, von Zeile zu Zeile springen.xlsm (Größe: 29,83 KB / Downloads: 5)
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Tommiks
Antworten Top
#3
Der Ansatz ist sehr interessant, aber nicht meine Lösung. Trotzdem vielen Dank für den neuen Weg.
Antworten Top
#4
Hallo,

folgender Code kommt in ein allgemeines Modul (also nicht in das Modul des Tabellenblatts):

Code:
Sub DropDowns_Abteilungen()
  Range("B5,B10,B15,B20,B25,B30,B35,B40,B45,B50,B55,B60,B65,B70,B75,B80").Areas(ActiveSheet.DropDowns(Application.Caller).ListIndex).Select
End Sub

Dieses Makro weist Du dann allen Dropdowns im Blatt zu und den vorhandenen Code im Tabellenmodul löschst Du.
Beachte: Dieses Makro funktioniert nicht, wenn es direkt (ohne Dropdown) gestartet wird.

Gruß Uwe
Antworten Top
#5
Hi @Kuwe,

...hier ist ja wieder das Problem, dass Du die Bereiche fest definiert hast. Das eigentliche Problem (unterschiedliche Zeilenabstände) wird somit nicht gelöst.

@Tom,
es ist für mich zwar nicht nachvollziehbar, weshalb Du eine funktionierende aber einfach zu realisierende Lösung nicht willst, aber das ist ja Dein Problem. Dann musst Du eben mehr Aufwand betreiben.

Zunächst musst Du allen Zielzellen über den Namensmanager einen Namen vergeben. Also Zelle auswählen, Namen definieren. Excel schlägt dann bei Deiner Namensgebung (Abt. A) folgendes vor: Abt._A, also mit Unterstrich statt Leerzeichen. Kannst Du übernehmen.

Dann gehe ich davon aus, dass nur die Werte der Dropdowns in Spalte A geändert werden sollen. Unter diesen Voraussetzungen kannst Du diesen Code verwenden:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 And Target.Column = 1 And Left(Target.Value, 4) = "Abt." Then _
        Application.Goto Reference:="Abt._" & VBA.Right(Target.Value, 1)
End Sub
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Tommiks
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste