Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1236to1240
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

ListFillRange variabel befüllen

ListFillRange variabel befüllen
kstorz
Liebe Excel-Profis!
Schon wieder habe ich eine Frage und benötige euere Hilfe.
Ich habe diverse Namen definiert (Gebiet1 = A-Statd, B-Stadt, C-Stadt; Gebiet2 = D-Stadt, E-Stadt, F-Stadt; Gebiet3 = G-Stadt, H-Stadt, I-Stadt usw.)
Mit der Anmeldung erhalte ich in "Auswertung!A2) das entsprechende Gebiet angezeigt.
Wenn ich in der Combobox im ListFillRange den Namen des Gebietes eintrage, dann erhalte ich auch die entsprechenden Städte angezeigt. Wenn ich aber das Gebiet mit "=A2" variabel eintragen lassen will, dann kommt nur der Name des Gebiets selbst, es werden aber keine Städte angezeigt :-(
Gibt es eine Möglichkeit, das Gebiet von A2 in ListFillRange eintragen zu lassen, damit ich die Gebiete dort variabel angezeigt bekomme? Oder habe ich mir das zu einfach gedacht? Combobox und A2 sind in der gleichen Arbeitsmappe.
Für Euere Hilfe bedanke ich mich schon im Voraus!
Viele Grüße
Klaus
Du musst die Adresse als String übergeben
12.11.2011 07:35:19
Matthias
Hallo
Hier mal ein Beispiel
A1 ist mit Daten Gültigkeit begrenzt.
Dort wählst Du Gebiet1 oder Gebiet2 oder löschst den Inhalt
Je nach Auswahl wird dann die Adresse des entsprechenden Bereichsnamens
in die Combobox als ListFillRange eingetragen.
https://www.herber.de/bbs/user/77468.xls
Gruß Matthias
vielleicht eine Vereinfachung
12.11.2011 08:07:54
Erich
Hi Matthias,
dieser Code täte - meine ich - fast das Gleiche: Option Explicit Private Sub CommandButton1_Click() Dim strg$ With ComboBox1 Select Case Cells(1, 1).Value Case "Gebiet1", "Gebiet2" strg = Range(Cells(1, 1)).Address .ListFillRange = strg .Text = "Wählen aus " & Cells(1, 1) Case Else .ListFillRange = "" .Text = "Box ist leer" End Select End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then CommandButton1_Click End Sub Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
na aber logo, das ist eine Vereinfachung :o) kwT
12.11.2011 08:13:25
Matthias
ich kapiers nicht ... :-(
12.11.2011 21:42:02
kstorz
Hallo Ihr beiden!
Vielen Dank für Euere Hilfe!
Ich fummle jetzt seit einiger Zeit an der Mappe rum aber ich bin einfach zu blöd um das zu kapieren...
Alles mögliche habe ich ausprobiert und nichts funktioniert :-(
In "Auswertung!A1" steht das Gebiet, je nach Anmeldename
In "Tabelle3" stehen in C1 bis AZ1 die Gebiete (Name = liste), darunter dann die Namen (Name = das in Zeile 1 aufgeführte Gebiet) die in die Combobox1 sollen.
Ich habe nun den Code in "Auswertung" kopiert und (so glaube ich zumindest) auch angeglichen. In die Combobox1 wird aber immer "Box ist leer" geschrieben.
Damit Ihr Euch das nicht nur theoretisch anschauen müsst, hätte ich die Mappe gerne online gestellt. Die Mappe ist aber leider zu groß. Gerne sende ich die Mappe aber zu!
Wenn Ihr also Zeit und Lust habt, würde ich mich sehr fereun, wenn Ihr die Mappe mal anschauen könntet.
Viele Grüße
klaus
Anzeige
AW: ich kapiers nicht ... :-(
12.11.2011 23:28:00
Reinhard
Hallo Klaus,
verkleinere die mappe und lade sie hoch.
C:AZ kann ja bleiben aber pro "gebiet halt nur 2-5 Einträge und fertig.
Alle Blätter, daten die unwichtig sind löschen.
Gruß
Reinhard
AW: ich kapiers nicht ... :-(
12.11.2011 23:35:34
kstorz
Hallo Reinhard,
OK, hab´s geschaft - hier ist die Mappe.
Ich hoffe, es sind alle relevanten Daten drinn - Name = test, Passwort = test
Viele Grüße
Klaus
https://www.herber.de/bbs/user/77474.xls
versuchs mal so ... [Bereichsname]
13.11.2011 16:43:13
Matthias
Hallo Klaus
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strg$
If Not Intersect(Target, Range("A1")) Is Nothing Then
Select Case Range("A1")
Case Is = "Schopfheim"
strg = [Schopfheim].Address
Case Is = "Lörrach"
strg = [Lörrach].Address
Case Else
With Tabelle1.ComboBox1
.ListFillRange = ""
.Text = "Box ist leer"
End With
Exit Sub
End Select
With Tabelle1.ComboBox1
.ListFillRange = "Tabelle3!" & strg
.Text = "jetzt " & Range("A1")
End With
End If
End Sub
Im Blatt Lörrach sollten aber auch Daten stehen, so wie im Blatt Schopfheim.
Im Namensmanager würde ich die Bereiche an die tasächlichen Erfordernisse anpassen.
Userbild
Gruß Matthias
Anzeige
Worksheets("Tabelle3") oder Tabelle17</b>.Range()
13.11.2011 17:42:26
Matthias
Hallo
oder so ... (mit dem Registerblattnamen der Tabelle)
Case Is = "Schopfheim"
strg = Worksheets("Tabelle3").Range("Schopfheim").Address
Case Is = "Lörrach"
strg = Worksheets("Tabelle3").Range("Lörrach").Address


oder so ... (mit dem CodeNamen der Tabelle)
Case Is = "Schopfheim"
strg = Tabelle17.Range("Schopfheim").Address
Case Is = "Lörrach"
strg = Tabelle17.Range("Lörrach").Address
Wichtig dabei ist immer die Referenzierung zum entsprechenden Objekt.
Gruß Matthias
AW: Worksheets("Tabelle3") oder Tabelle17</b>.Range()
13.11.2011 21:00:36
kstorz
Hallo Matthias!
Ich habe das ganze jetzt noch und noch mal gemacht und bekam einfach kein Ergebnis!
Ich habe in das Feld A1 den Namen per Sverweis kopieren lassen. Wenn ich aber den direkten Namen angebe, dann funktioniert es plötzlich!!!
Gibt es denn eine Möglichkeit, auch einen "ausgelesenen" Namen zu übernehmen?
Vielen Dank für Deine Hilfe, ich bin zumindest schon einen großen Schritte weiter!
Viele Grüße
Klaus
Anzeige
Wieso SVerweis ?
13.11.2011 21:51:31
Matthias
Hallo Klaus
Leider kann ich Dir nicht ganz folgen.
Was hat das Ganze jetzt mit Sverweis zu tun?
A1 wird doch aus Daten Gültigkeit gefüllt (Daten Gültigkeit=liste)
Dann greift doch das Worksheet_Change
Ich habe mal 2 Orte (Dresden und Leipzig) hinzugefügt
und den Vorschlag von Erich G mit einfließen lassen.
Das klappt doch alles wunderbar.
https://www.herber.de/bbs/user/77489.xls
Wenn ich total falsch liege, dann mußt Du Dich nochmal melden
Im Moment weiß ich leider nicht so richtig was Du wirklich möchtest.
Gruß Matthias
Anzeige
AW: Wieso SVerweis ?
13.11.2011 22:13:30
kstorz
Hallo Matthias!
Soweit ist das ja auch richtig!
Der User meldet sich ja mit Namen und Passwort an.
Und dann möchte ich, dass sich die ComboBox automatisch "füllt".
Manuell auswählen möchte ich nicht, sonst wählt man unter Umständen ein falsches Gebiet aus ...
Daher dachte ich:
A1 = Gebiet =Sverweis(A2;Gebiete;2;0) und somit das Gebiet des Arztes eintragen und in ComboBox "einlesen" lassen
A2 = Name des Arztes
Ich hoffe Du weisst jetzt was ich meine, ich kanns leider nicht anders beschreiben.
Nochmals Danke und Viele Grüße
Klaus
Einloggen=Matthias ... Paswort:=L
13.11.2011 23:06:49
Matthias
Hallo
Ziemlich verwirrend das Ganze!
Es wird nun A2 überwacht
Formel in A1 & A3 geändert
Daten Gültigkeit liste habe ich gelöscht
Probier mal ...
Login: = Matthias
PW: = L
Dabei sollte nun Dresden erscheinen.
https://www.herber.de/bbs/user/77491.xls
Auswertung

 A
1Dresden
2Matthias
3Dresden

Formeln der Tabelle
ZelleFormel
A1=A3
A3=WENN(A2<>"";SVERWEIS(A2;Grunddaten!B2:E29;4;0);"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige
Perfekt - Danke!
13.11.2011 23:51:44
kstorz
Hallo Matthias,
jetzt ist es perfekt, vielen Dank!
Viele Grüße
Klaus
kleiner Nachtrag noch ...
14.11.2011 08:08:28
Matthias
Hallo
Auswertung

 A
1Schopfheim
2test

Formeln der Tabelle
ZelleFormel
A1=WENN(A2<>"";SVERWEIS(A2;Grunddaten!B2:E29;4;0);"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Du kannst natürlich Deine SVerweis-Formel aus A3 auch gleich in A1 schreiben
Dann sparst Du Dir die Formel in A1 (=A3).
Ich wusste ja nicht warum Du den Sverweis in A3 hattest. Scheint aber überflüssig zu sein.
Du mußt natürlich auch noch den Text (rot markiert) ändern:
.Text = "Die Arztliste ist leer - bitte einen Ort in A1 wählen"
in z.B
.Text = "Die Arztliste ist jetzt leer!"
da in A1 ja nun kein Ort mehr gewählt wird.
Gruß Matthias
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige