25.08.2022, 08:42
(Dieser Beitrag wurde zuletzt bearbeitet: 25.08.2022, 19:28 von WillWissen.)
Hallo Zusammen,
mein Großprojekt nähert sich dem Ende, so das ich nun "kleinere" Fehler beheben möchte.
Ausgangslage:
Ich habe zwei Listenfelder Listbox2 und List_Quelle. Eine Textbox als Freitextfeld. Alle Werte aus Listbox2 sollen Werten aus List_Quelle und/oder dem Freitextfeld zugeordnet werden. Das Ergebnis wird in List_Sieben geschrieben.
Also:
Listbox2 + List_Quelle/Freitextfeld = List_Sieben
Der Inhalt in Listbox2 ist zweispaltig und es wird nur der Inhalt der ersten Spalte übernommen:
Bsp.
1. Name / Vorname + Arbeitsvertrag = 1. Arbeitsvertrag
Leider wird immer der letzte Buchstabe/ Zeichen nicht übertragen/angezeigt. Unabhängig von der Länge! Bzw. die letzten Beiden, wenn das Freitextfeld auch genutzt wird.
Also:
1. Arbeitsvertra
1. Arbeitsvertrag, Freitextfe
Woran kann das liegen?
______________
Vielen Dank im Voraus
mein Großprojekt nähert sich dem Ende, so das ich nun "kleinere" Fehler beheben möchte.
Ausgangslage:
Ich habe zwei Listenfelder Listbox2 und List_Quelle. Eine Textbox als Freitextfeld. Alle Werte aus Listbox2 sollen Werten aus List_Quelle und/oder dem Freitextfeld zugeordnet werden. Das Ergebnis wird in List_Sieben geschrieben.
Also:
Listbox2 + List_Quelle/Freitextfeld = List_Sieben
Der Inhalt in Listbox2 ist zweispaltig und es wird nur der Inhalt der ersten Spalte übernommen:
Bsp.
1. Name / Vorname + Arbeitsvertrag = 1. Arbeitsvertrag
Leider wird immer der letzte Buchstabe/ Zeichen nicht übertragen/angezeigt. Unabhängig von der Länge! Bzw. die letzten Beiden, wenn das Freitextfeld auch genutzt wird.
Also:
1. Arbeitsvertra
1. Arbeitsvertrag, Freitextfe
Woran kann das liegen?
______________
Code:
Private Sub patchen42()
Dim varLB1 As String, i As Long, j As Long, k As Long, varWert As String, varErg As String, varAusgabe As String
If edt_Quelle.Value <> "" Then 'Mit FreiText
txt = edt_Quelle
With ListBox2 'Teil 1
For k = 0 To .ListCount - 1
If .selected(k) = True Then
varLB1 = .List(k, 0)
End If
Next k
End With
For i = 0 To List_Quelle.ListCount - 1 'Teil 2
If List_Quelle.selected(i) = True Then
varLb1Test = "1"
End If
Next i
If varLb1Test = "1" Then ' Variante mit zusätzlichem Listfeldeintrag
With List_Quelle
For j = 0 To .ListCount - 1
If .selected(j) = True Then
varWert = .List(j, 0)
varErg = varErg & varWert & ", "
End If
Next j
varAusgabe = varLB1 & ": " & varErg & txt 'Teil 1 + : + Teil 2
j = Len(varAusgabe) - 2
varAusgabe = Left(varAusgabe, j)
End With
Else 'Variante ohne Listfeldeintrag
varErg = txt
varAusgabe = varLB1 & ": " & varErg
End If
With List_Sieben 'Teil 3
If .ListIndex - 1 Then
.AddItem varAusgabe
End If
End With
Else 'Ohne Freitext
With ListBox2 'Teil 1
For k = 0 To .ListCount - 1
If .selected(k) = True Then
varLB1 = .List(k, 0)
End If
Next k
End With
With List_Quelle
For j = 0 To .ListCount - 1
If .selected(j) = True Then
varWert = .List(j, 0)
varErg = varErg & varWert & ","
End If
Next j
varAusgabe = varLB1 & ": " & varErg 'Teil 1 + : + Teil 2
j = Len(varAusgabe) - 2
varAusgabe = Left(varAusgabe, j)
End With
With List_Sieben 'Teil 3
If .ListIndex - 1 Then
.AddItem varAusgabe
End If
End With
End If
loeschen2
End Sub
Vielen Dank im Voraus