Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 13:17:34
mtremer
Hallo Excel-Freunde,
ich glaub ich werde verrückt.
Meine ComboBox füllt sich nicht mehr. Ich versuche den Code so zu ändern, dass die Quelle für die ComboBox wo anders stehen kann. Im folgenden Code müssen die Werte in der Spalte A der Tabelle1 stehen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Range(Cells(1, 1), Cells(Range("A65536").End(xlUp).Row, 1)).Name = "Test"
Tabelle1.ComboBox1.ListFillRange = "=Test"
End If
End Sub


Wie kann ich den Code ändern, dass die Werte aus Tabelle2, Spalte B gezogen werden?
Danke.
Viele Grüße
Marco
P.S.: Wie kann ich denn die Schriftart nach Einfügen des Codes in dieses Eingabeformular ändern?

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 13:31:15
Beverly
Hi Marco,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Tabelle2.Range(Tabelle2.Cells(1, 2), Tabelle2.Cells(Range("A65536").End(xlUp).Row, 2)). _
Name = "Test"
Tabelle1.ComboBox1.ListFillRange = "=Test"
End If
End Sub


Deine Frage aus dem P.S. ist mir nicht klar.



AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 14:08:09
mtremer
Hallo Karin,
hm, komisch. In meiner Testdatei hat das sofort geklappt.
Nun habe ich den Code an meine Ausgangsdatei angepasst, und es geht nicht.
Es kommt eine Fehlermeldung "Fehler beim Kompilieren. Methode oder Datenobjekt nicht gefunden." Und er markiert .ComboBox1
Hat das vielleicht etwas damit zu tun, dass doch etwas als Objekt deklariert werden muss oder dass meine Tabellen1-3 andere Namen haben? Letzteres hat aber auch bei meiner Testdatei funktioniert...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Tabelle3.Range(Tabelle3.Cells(1, 12), Tabelle3.Cells(Range("A65536").End(xlUp).Row, 12)). _
Name = "Beschwerdeart"
Tabelle1.ComboBox1.ListFillRange = "=Beschwerdeart"
End If
End Sub


Anzeige
AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 14:38:55
Beverly
Hi Marco,
dann hat das Arbeitsblatt mit dem Codenamen Tabelle1 keine ComboBox1.


AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 14:56:08
mtremer
gerade wollte ich Dir widersprechen. Aber dann habe ich gesehen, dass die vermeindliche Tabelle1 ja vor der Umbenennung Tabelle3 war. Und die 2 war die 5 ;-)
Dann ist das ja auch logisch. Jetzt kommt keine Fehlermeldung mehr, aber die ComboBox befüllt sich trotzdem nicht. Hat das etwas damit zu tun, dass die Liste erst bei L5 beginnt?
Ich weiß nicht mehr weiter...
Viele Grüße
Marco
AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 16:41:12
Beverly
Hi Marc,
schreibe die Codezeile mal so:

Tabelle3.Range(Tabelle3.Cells(5, 12), Tabelle3.Cells(Range("A65536").End(xlUp).Row, 12)). _
Name = "Beschwerdeart"


Cells(Zeile, Spalte) heißt es ja, und wenn deine Liste erst in Zeile 5 losgeht, darf da keine 1 stehen.



Anzeige
AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 16:50:00
mtremer
Hmpf, ich verzweifele gleich.
So hatte ich den Code auch mal, aber es klappt nicht. Hier nochmal der gesamte Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Tabelle5.Range(Tabelle5.Cells(5, 12), Tabelle5.Cells(Range("A65536").End(xlUp).Row, 12))._
Name = "Beschwerdeart"
Tabelle3.ComboBox1.ListFillRange = "=Beschwerdeart"
End If
End Sub


Entweder ist etwas am Code nicht richtig, oder ich denke unlogisch. Bei meiner Erfahrung ist es wohl Letzteres. Etwas anderes kann ich mir mittlerweile nicht mehr vorstellen.
Hast Du noch einen Tipp?
Viele Grüße
Marco
P.S.: schau Dir mal die unterschiedlichen Schriftarten vor, im und nach dem Code an ;-)

Anzeige
AW: Werte aus anderem Blatt für ComboBox auslesen
17.09.2008 21:54:00
Beverly
Hi Marco,
lade doch deine Arbeitsmappe mal hoch, da lässt sich das besser nachvollziehen.
Ja, die Schriftaren sind unterschiedlich. Im Code ist klar, weil das wohl (glaube ich) HTML-Text ist. Warum sie nun davor und danach unterschiedlich sind - wer weiß. Aber man kann sich dran gewöhnen ;-).


AW: Werte aus anderem Blatt für ComboBox auslesen
18.09.2008 14:29:44
Beverly
Hi Marco,
weshalb soll der Code beim Eintrag eines Wertes in Spalte A der Tabelle "Formular" ausgelöst werden? Einfacher ist es doch, wenn der ComboBox ihre Werte zugewiesen werden sobald man den Cursor rein setzt. Nimm das Worksheets_Change Ereingnis heraus und benutze statt dessen das GotFocus Ereignis der CombobBox

Private Sub ComboBox1_GotFocus()
With Tabelle4
.Range(.Cells(5, 12), .Cells(.Range("L65536").End(xlUp).Row, 12)).Name = "Beschwerdeart"
Tabelle1.ComboBox1.ListFillRange = "=Beschwerdeart"
End With
End Sub


oder noch einfacher ohne Bereichsanamen:


Private Sub ComboBox1_GotFocus()
With Tabelle4
Tabelle1.ComboBox1.ListFillRange = "=Datenbank!" & .Range(.Cells(5, 12), .Cells(.Range(" _
L65536").End(xlUp).Row, 12)).Address
End With
End Sub


Das hat aber nichts mit dem Fehler zu tun, dass die ComboBox leer war. Das hing damit zusammen, dass du die letzte belegte Zelle nicht in Spalte L sondern Spalte A ermittelt hast, und die war immer 1. Folglich wurde dem Bereichsnamen immer L1:L5 zugewiesen.



Anzeige
ein Waaaahnsinn
18.09.2008 15:16:05
mtremer
es funktioniert!
Danke für die Lösung und Deine scheinbar endlose Geduld...
Viele Grüße
Marco

386 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige