Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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