Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Combobox automatisch befüllen mit zellenbezug
04.05.2007 14:52:54
asterix80
hallo an alle,
ich hab folgendes problem. ich möchte eine combobox erstellen die ihre daten automatisch von einem anderen tabellenblatt bezieht. das klappt auch schon. jetzt will ich aber das noch folgendes funktioniert. wenn ich was in der combobox auswähle soll er mir die zellennummer erkennen (z.b. A34). wenn ihr euch fragt wozu das dienen soll. ich will aus eine kombination aus zwei comboboxen ein wert ermitteln der in einer bestimmten zelle steht. sagen wir mal in den zeilen stehen verschiedene produkte z.b. "blaue schuhe" , "rote schuhe" usw. in den spalten stehen die größen z.B. "39" , "42" jetzt fülle ich die erste combobox mit den zeilen und die zweite combobox mit den spalten, nach auswahl von zeile und spalte soll automatisch der die anzahl der vorhanden schuhe ausgegeben werde.
sagen wir ich wähle in der ersten combobox die art: "schwarze schuhe"
in der zweiten combobox die größe: "42"
soll automatisch in der zelle A1 die anzahl der vorhandenen schuhe angezeigt werden.
was ich bis jetzt habe ist:

Sub ComboboxFüllenBezug()
Worksheets("Tabelle1").ComboBox1.ListFillRange = "Tabelle2!A1:F375"
End Sub
Private Sub ComboBox1_Change()
ComboBox1.LinkedCell = "A1"
End Sub


jetzt könnte ich natürlich im ComboBox1_Change nach dem ComboBox1.Value in der Tabelle2 suchen und mir die zeile merken und genauso mit der ComboBox2 vorgehen und die spalte merken. nur denke ich das das sehr auf die rechnerleistung geht. ich hab ne riesige tabelle mit zeilen und spalten. gibt es eine andere möglichkeit? oder findet ihr den ansatz schon einer der effektivsten?
wäre über jeden hinweis und jede kritik sehr erfreut.
vielen dank im voraus.
gruß
asterix
ps. bin kein schuh verkäufer und heiße auch nicht zufällig Al Bundy ;)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox automatisch befüllen mit zellenbezug
05.05.2007 21:47:00
Gerd
Hallo Asterix,
cleverer Ansatz!
Die Items der Comboboxen beginnen mit 0, die deiner Sources mit 1 für Zeile bzw. Spalte, denke ich.
also muss nur der Listindex, die Nr. der ausgewählten Items um 1 erhöht werden, um die
die Zellenkoordinaten zu erhalten.
Nehme einen CommandButton als Auslöser.
Ich habe auch an dich eine Frage. Wozu dient die "LinkedCell" ?

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex * ComboBox2.ListIndex 


Gruß nach Kleinbonum :-)
Gerd

AW: Combobox automatisch befüllen mit zellenbezug
07.05.2007 10:01:36
asterix80
hi gerd,
bin erst jetzt wieder an der aufgabe dran, ich hab mir mal dein eintrag duch gelesen nur bin ich noch im gedanken am wochenende, ich glaub ich lese es gleich nochmal, aber auf den ersten blick hört sich das net schlecht an ;)
du wolltest wissen was LinkedCell ist, ich schreib dir mal die definition aus einem VBA Buch:

Bildet die Verbindung zwischen der Eigenschaft VALUE bzw. TEXT
eines Elements und einer Zelle im Tabellenblatt. Ein Eintrag in
Element wird an die über diese Eigenschaft zugeordnete Zelle
weitergegeben und umgekehrt.


viele grüße zurück
asterix

Anzeige
AW: Combobox automatisch befüllen mit zellenbezug
07.05.2007 11:57:45
asterix80
hi ich bins nochmal,
ich hab das problem wenn ich nach "schuhe rot" suche dann findet er den nächst besten egal ob es "schuhe rot hell" oder "schuhe rot dunkel" heisst, somit gibt er mir die falsch zeile zurück.
ich hab es jetzt anders gelöst: ich füge einfach in die combobox den spaltenwert hinzu, und lese ihn dannach wieder aus, hier der quellcode als ansatz:

Sub Comboerweitern()
Sheets("tabelle1").Select
ComboBox1.Clear
Dim i%
i = 1
Do Until Cells(i, 1).Value = "Ende_UBR"
ComboBox1.AddItem Cells(i, 1) & vbTab & Cells(i, 1).Row
i = i + 1
Loop
Exit Sub
Private Sub ComboBox1_Change()
Cells(3, 3) = Right(ComboBox1.Value, Len(ComboBox1.Value) - InStr(ComboBox1.Value, vbTab))
End Sub


das funktioniert dann einwandfrei ;)
vielen dank nochmal
gruß
asterix

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige