Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1124to1128
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

Zeilen in Combobox füllen

Zeilen in Combobox füllen
Mg-Learning
Hallo zusammen,
Bitte bitte um weitere Unterstützung
1. Wie kann ich per vba, die zeile z.B. b2 bis f2 in eine Combobox in einem anderen Tabellenblatt schreiben?
Besser wäre natürlich, wenn das nicht begrenzt wäre, sondern er erkennt, dass f2 das letzte befüllte Feld ist, so das man praktisch erweitern könnte g2, h2 etc.? Mit ListFillRange geht das leider nur in Spalten.
2. Und wie kann ich jeweils den Wert in der tabelle z.b. "7" bei Kriterium a2 & d2 erfüllt (Zwei Comboboxen)
in eine Zelle in einem anderen Tabellenblatt schreiben! Ganze auch per VBA!
b2 c2 d2 e2
a2 2 6 7
a3 5 7 9
a4 4 1 5 7
Würde mich über Hinweise oder Codes freuen!
Vielen Dank im Voraus!
Martin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
benutze ComboBox1.AddItem Tabelle2.Cells(x, y)
22.12.2009 05:25:54
Matthias
Hallo Martin
Hier mal ein Ansatz zum Befüllen der ComboBox mit Werten aus einer anderen Tabelle
https://www.herber.de/bbs/user/66761.xls
Gruß Matthias
AW: Zeilen in Combobox füllen
22.12.2009 08:49:55
Tino
Hallo,
zu erstens
Private Sub UserForm_Initialize()
Dim MaxColZell As Range

With Tabelle2
 Set MaxColZell = IIf(IsEmpty(.Cells(2, .Columns.Count)), .Cells(2, .Columns.Count).End(xlToLeft), .Cells(2, .Columns.Count))
 ComboBox1.List = Application.Transpose(.Range("B2", MaxColZell).Value2)
End With

End Sub
zu zweitens
Private Sub CommandButton1_Click()
Dim varRow, varCol
With Tabelle2
 varRow = Application.Match(ComboBox1, .Columns(1), 0)
 varCol = Application.Match(ComboBox2, .Rows(2), 0)
 
 If IsNumeric(varRow) And IsNumeric(varCol) Then
    Tabelle1.Range("A2") = .Cells(varRow, varCol)
 Else
    MsgBox "nix gefunden"
 End If
End With
End Sub
Tabelle2 ist der Objektname der Tabelle, zu finden im VBA im Projektexplorer
der Name außerhalb der Klammer.
Hat den Vorteil, auch wenn die Tabelle umbenannt wird funktionieren die Makros noch.
Gruß Tino
Anzeige
AW: Zeilen in Combobox füllen
22.12.2009 11:16:33
MG_Learning
Hallo Tino,
Habe den ersten Code eingefügt
Private Sub ComboArtikel_Change()
Dim strArt As String
Dim MaxColZell As Range
Range("D16").Value = ComboArtikel.Value
strArt = ComboArtikel.Value
Select Case strArt
Case "Kabel"
With Tabelle4
Set MaxColZell = IIf(IsEmpty(.Cells(2, .Columns.Count)), .Cells(2, .Columns.Count).End
(xlToLeft), .Cells(2, .Columns.Count))
ComboLänge.List = Application.Transpose(.Range("B2", MaxColZell).Value2)
Case "Stecker"
With Tabelle5
Set MaxColZell = IIf(IsEmpty(.Cells(2, .Columns.Count)), .Cells(2, .Columns.Count).End
(xlToLeft), .Cells(2, .Columns.Count))
ComboLänge.List = Application.Transpose(.Range("B2", MaxColZell).Value2)
Case "Dose"
With Tabelle6
Set MaxColZell = IIf(IsEmpty(.Cells(2, .Columns.Count)), .Cells(2, .Columns.Count).End
(xlToLeft), .Cells(2, .Columns.Count))
ComboLänge.List = Application.Transpose(.Range("B2", MaxColZell).Value2)
End With
End Select
End Sub

Leider bringt er mir bei dieser Zeile egal welcher Case:
ComboLänge.List = Application.Transpose(.Range("B2", MaxColZell).Value2)
die Fehlermeldung Laufzeitfehler 70 - Zugriff verweigert. Woran kann das liegen!
Habe schon ewig probiert.
Danke
Martin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige