Usuń puste komórki w Excelu VBA
Poniżej przyjrzymy się programowi w Excel VBA że usuwa puste komórki.
Sytuacja:
1. Najpierw deklarujemy dwie zmienne typu Integer. Jeden wymieniony licznik i jeden o nazwie i. Inicjujemy licznik zmiennych o wartości 0.
Dim counter As Integer, i As Integer
counter = 0
counter = 0
2. Następnie sprawdzamy dla każdej komórki, czy jest pusta, czy nie (<> oznacza nie równe). Używamy do tego pętli. Jeśli nie jest pusta, zapisujemy wartość w kolumnie B. Licznik zawiera liczbę komórek, które zostały skopiowane do kolumny B. Za każdym razem, gdy kopiujemy wartość do kolumny B, zwiększamy licznik o 1. Ta część programu wygląda następująco:
For i = 1 To 10
If Cells(i, 1).Value <> "" Then
Cells(counter + 1, 2).Value = Cells(i, 1).Value
counter = counter + 1
End If
Next i
If Cells(i, 1).Value <> "" Then
Cells(counter + 1, 2).Value = Cells(i, 1).Value
counter = counter + 1
End If
Next i
Wynik do tej pory:
3. Na koniec opróżniamy zakres ("A1: A10"), kopiujemy wartości z kolumny B do kolumny A i pusty zakres ("B1: B10").
Range("A1:A10").Value = ""
Range("A1:A10").Value = Range("B1:B10").Value
Range("B1:B10") = ""
Range("A1:A10").Value = Range("B1:B10").Value
Range("B1:B10") = ""
Wynik: