Anzeige
Archiv - Navigation
1360to1364
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
TextBox-Eintrag abhängig von Listbox
10.05.2014 19:27:01
Listbox
Hallo Forum,
in einer UF lasse ich mir in einer ListBox verschiedene Positionen anzeigen.
Dank Code-Vorlage von fcs klappt das auch!
Jetzt möchte ich, wenn in der ListBox die Position ausgewählt ist, den dazugehörigen Langtext in einer Textbox (Textbox2) in der gleichen UF anzeigen.
Die Daten für das Datenarray sind im Tabellenblatt Positionen zu finden, von A2 bis CP..xx...
Durch die Positionsnummer in Spalte 1 in der ListBox6 ist ja eine eindeutige Identifizierung möglich, der dazugehörige Langtext ist im Tabellenblatt Positionen in Spalte C zu finden, die Nummer der angezeigten Positionen in Spalte A.
Wie müsste der Code dazu aussehen, um den Langtext anzuzeigen, sobald die Auswahl in Listbox6 getroffen wurde?
Für Hilfe sag ich schon mal Danke!
MfG Christian
Der bisherige Code:
Option Explicit
Private wksPosition As Worksheet, arrPosition As Variant
Private wksLvz As Worksheet, lngZeileLvz As Long
Private Sub Listbox6_Update(Optional bolAlle As Boolean = False)
Dim arrListe() As Variant
Dim lngItem As Long
Dim intItem As Integer, Spalte As Integer
Dim bolTreffer As Boolean, bolKriterium As Boolean
Dim intJ As Integer
For lngItem = LBound(arrPosition, 1) To UBound(arrPosition, 1)
bolTreffer = False
If bolAlle = True Then
bolTreffer = True
Else
With Me.ComboBox4     'Positionsnummer
bolKriterium = False
If .ListIndex = -1 Then
bolKriterium = True
Else
If .List(.ListIndex, 0) = arrPosition(lngItem, 1) Then
bolKriterium = True
End If
End If
End With
If bolKriterium = False Then GoTo KeinTreffer
With Me.ListBox3 'Hersteller
bolKriterium = False
If .ListIndex = -1 Then
bolKriterium = True
Else
If .List(.ListIndex, 0) = arrPosition(lngItem, 6) Then
bolKriterium = True
End If
End If
End With
If bolKriterium = False Then GoTo KeinTreffer
With Me.ListBox4 'Händler
bolKriterium = False
If .ListIndex = -1 Then
bolKriterium = True
Else
If .List(.ListIndex, 0) = arrPosition(lngItem, 7) Then
bolKriterium = True
End If
End If
End With
If bolKriterium = False Then GoTo KeinTreffer
With Me.ListBox5 'Kategorie
bolKriterium = False
If .ListIndex = -1 Then
bolKriterium = True
Else
If .List(.ListIndex, 0) = arrPosition(lngItem, 8) Then
bolKriterium = True
End If
End If
End With
If bolKriterium = False Then GoTo KeinTreffer
With Me.ComboBox1     'Matchcode
bolKriterium = False
If .ListIndex = -1 Then
bolKriterium = True
Else
If .List(.ListIndex, 0) = arrPosition(lngItem, 9) Then
bolKriterium = True
End If
End If
End With
If bolKriterium = False Then GoTo KeinTreffer
bolTreffer = True
KeinTreffer:
End If
If bolTreffer = True Then
intItem = intItem + 1
ReDim Preserve arrListe(1 To 3, 1 To intItem)
For Spalte = 1 To UBound(arrPosition, 2)
intJ = 0
Select Case Spalte
Case 1: intJ = 1 'Positonsnummer
Case 2: intJ = 2 'Kurztext
Case 94: intJ = 3 'Datum
End Select
If intJ  0 Then
arrListe(intJ, intItem) = arrPosition(lngItem, Spalte)
End If
Next
End If
Next lngItem
Me.ListBox6.Clear
If intItem > 0 Then
Me.ListBox6.Column = arrListe
End If
End Sub
Private Sub cmdabbrechen_pos_Click()
With Me
'Userform-Tag auf "Abbruch" einstellen
Unload Me
ufposeintragen.Hide
End With
End Sub
Private Sub UserForm_Initialize()
Set wksPosition = ActiveWorkbook.Worksheets("Positionen")
Set wksLvz = ActiveWorkbook.Worksheets("LVZ")
lngZeileLvz = ActiveCell.Row
'Daten in "Postionen" in Datenarray einlesen
With wksPosition
arrPosition = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 94))
End With
End Sub
Private Sub CommandButton5_Click()
'Artikel auflisten
Call Listbox6_Update
End Sub
Private Sub CommandButton6_Click()
'Alle Artikel auflisten
Call Listbox6_Update(bolAlle:=True)
Me.ComboBox1.ListIndex = -1
Me.ComboBox4.ListIndex = -1
Me.ListBox3.ListIndex = -1
Me.ListBox4.ListIndex = -1
Me.ListBox5.ListIndex = -1
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
im Archiv gefunden..
10.05.2014 20:18:36
Christian
Hallo,
im Archiv habe ich folgendes dazu gefunden:
Private Sub ListBox6_Click()
Dim Matrix As Range
Set Matrix = Sheets("Positionen").Range("A2:C" & Range("C25000").End(xlUp).Row)
With ListBox6
If .ListIndex >= 0 Then
'Langtext
TextBox2.Text = Application.VLookup(ListBox6.Value, Matrix, 3, False)
End If
End With
End Sub
Es tut was es soll.
MfG Christian
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige