VBA Listbox Eintrag ab bestimmte Zelle
#1
Hallo Community,

ich habe ein Problem bei einer ListBox in VBA. Es ist eine Listbox mit Mehrfachauswahl, die beim auswählen die angeklickten Objekte in die Zellen H3:H38 schreibt. Bei neuem auswählen sollen die alten Werte verschwinden und die neuen rein. Das klappt auch mit dem unten genannten Code. Ich kriege es aber nicht hin, dass er ab H3 anfängt die Daten reinzuschreiben. Er fängt immer bei H1 an, jedoch brauch ich die Daten erst ab H3. Ich denke die Lösung ist ganz einfach aber ich finde es nicht.

Wäre euch für Hilfe sehr dankbar.

Viele Grüße

MiBi



Code:
Private Sub Button_Click()
Dim lListBox  As Long
Dim lZeile    As Long

  With ThisWorkbook.Worksheets("Tabelle")
      .Range("H3:H38" & .Cells(Rows.Count, 8).End(xlUp).Row).ClearContents
      For lListBox = 0 To ListBox_Test.ListCount - 1
        If ListBox_Test.Selected(lListBox) Then
            lZeile = lZeile + 1
            .Range("H" & lZeile).Value = ListBox_Test.List(lListBox, 0)
        End If
      Next lListBox
  End With
'Rows.Count

Unload Me
End Sub
Top
#2
Hallo,

weise vor der Schleife der Variable lZeile den Wert 2 zu. Wink

Gruß Uwe
Top
#3
Code:
Private Sub Button_Click()
  With ThisWorkbook.sheets("Tabelle").Range("H3:H38")
     .ClearContents
      sn=.Value

      For j = 0 To ListBox_Test.ListCount - 1
        If ListBox_Test.Selected(lListBox) Then
          y=y+1
          sn(y,1)= ListBox_Test.List(j, 0)
        End If
      Next

     .Value=sn
  End With
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#4
(03.09.2020, 12:58)Kuwer schrieb: Hallo,

weise vor der Schleife der Variable lZeile den Wert 2 zu. Wink

Gruß Uwe
Mega :)
Vielen Dank :)

@snb deins funktioniert auch, vielen Dank :)


Ist es irgendwie möglich, bei den NICHT ausgewählten in die Zelle etwas zu schreiben ? Beispielsweise wähle ich 3 von 10 aus und bei den 7 anderen steht dann "nein".
Top
#5
Hallo,
Private Sub Button_Click()
Dim lListBox As Long
Dim lZeile1 As Long, lZeile2 As Long
With ThisWorkbook.Worksheets("Tabelle").Range("H3:H" & Cells(Rows.Count, 8).End(xlUp).Row)
.ClearContents
For lListBox = 0 To ListBox_Test.ListCount - 1
If ListBox_Test.Selected(lListBox) Then
.Cells(1, 1).Offset(lZeile1).Value = ListBox_Test.List(lListBox, 0)
lZeile1 = lZeile1 + 1
Else
.Cells(ListBox_Test.ListCount, 1).Offset(-lZeile2).Value = "Nein"
lZeile2 = lZeile2 + 1
End If
Next lListBox
End With
Unload Me
End Sub
Gruß Uwe
Top
#6
(03.09.2020, 13:45)Kuwer schrieb: Hallo,
Private Sub Button_Click()
  Dim lListBox As Long
  Dim lZeile1 As Long, lZeile2 As Long
  With ThisWorkbook.Worksheets("Tabelle").Range("H3:H" & Cells(Rows.Count, 8).End(xlUp).Row)
      .ClearContents
      For lListBox = 0 To ListBox_Test.ListCount - 1
        If ListBox_Test.Selected(lListBox) Then
            .Cells(1, 1).Offset(lZeile1).Value = ListBox_Test.List(lListBox, 0)
            lZeile1 = lZeile1 + 1
        Else
            .Cells(ListBox_Test.ListCount, 1).Offset(-lZeile2).Value = "Nein"
            lZeile2 = lZeile2 + 1
        End If
      Next lListBox
  End With
  Unload Me
End Sub
Gruß Uwe
Vielen Dank :)
Top


Gehe zu:


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