Fehler beim Übertragen mit Listbox
#1
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? 

______________



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
Antworten Top
#2
Hi,

besser, du zeigst uns bitte eine Bsp-Datei mit Bsp-Daten und deinem Code.
Zumindest ich hab nich Lust, mich so "freihändig" durch deinen Code bewegen zu müssen, ohne, dass ich auch nur den Ansatz eines (Daten)Ziels habe.

Natürlich kannst du auf weitere Antworten warten. Es gibt Profis, die auch bei nur-Code-Anzeige schon geniale Lösungen gefunden haben.

Ciao
Thorsten
Antworten Top
#3
Hallöchen,

wenn Du unten im Code 2 Zeichen abtrennst, könnte sein, dass die das sind.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste