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.

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
Antwortento top
#2
Hallo,

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

Gruß Uwe
Antwortento 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
Antwortento top
#4
(03.09.2020, 11:58)Kuwer schrieb: Hallo,

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

Gruß Uwe
MegaSmile
Vielen DankSmile

@snb deins funktioniert auch, vielen DankSmile


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".
Antwortento 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
Antwortento top
#6
(03.09.2020, 12: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 DankSmile
Antwortento top


Gehe zu:


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