Cytat:Czy chcesz zrozumieć co która linia wykonuje?
Np. .Range(.Cells(ListBox1.List(i, 2), 1), .Cells(ListBox1.List(i, 2), .Columns.Count).End(xlToLeft)).Copy Sheets("UNA WYPOŻYCZONE").Cells(ostatni, 1)
linia ta kopiuje część wiersza z arkusza "wypożyczalni" z indeksem ListBox1.List(i, 2) zapisanego w trzeciej kolumnie ListBox1. Ponieważ kolumny i wiersze w ListBox numeruje się od 0 to 2 oznacza trzecią kolumnę.
Docelową komórką kopiowania jest komórka w wierszu "ostatni" w kolumnie 1 w arkuszu Sheets("UNA WYPOŻYCZONE")
Teraz jeśli chcesz usuwać całe wiersze z arkusza "Wpożyczalni" to najłatwiej będzie to zrobić od wiersza z najwyższym indeksem, czyli pierwsze usuwasz wiersz zapisany na ostatniej pozycji listy.
Jeśli nie chcesz usuwać całego wiersza a tylko zawartość komórek kolejność nie robi różnicy.
Linia usuwająca pojedynczy wiersz jest dość prosta: .Rows(ListBox1.List(i, 2)).Delete
Spróbujesz zrobić całą procedurę usuwania samodzielnie?
A opis mógł by się przydać co jaka linia robi tak na przyszłość fajnie by było
No spróbowałem i działa to usuwanie nawet proste ale ja to jestem bardzo dobry ale w programowaniu maszyn pomiarowych i skanerów 3d
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
.Range(.Cells(ListBox1.List(i, 2), 1), .Cells(ListBox1.List(i, 2), .Columns.Count).End(xlToLeft)).Copy Sheets("UNA WYPOŻYCZONE").Cells(ostatni, 1)
ostatni = ostatni + 1
.Rows(ListBox1.List(i, 2)).Delete
End If |