Spis treści
W dużych bazach danych, większość czasu spędzasz zajmując się zakresami i komórkami. Czasami musisz powtarzać tę samą czynność w dużych zakresach lub dużej liczbie komórek. To jednocześnie zabija twój czas i zmniejsza wydajność. Sprytnym rozwiązaniem tego problemu jest zbudowanie Kod programowania VBA który będzie przebiegał przez każdą komórkę w zakresie i wykonywał tę samą akcję kierowaną przez Ciebie. Dzisiaj w tym artykule omówimy, jak zrobić VBA dla każdej komórki w zakresie w Excelu.
Pobierz Zeszyt ćwiczeń
Pobierz ten zeszyt ćwiczeń, aby ćwiczyć zadania podczas czytania tego artykułu.
Kod VBA dla każdej komórki w zakresie w Excelu.xlsx3 Odpowiednie sposoby zastosowania VBA dla każdej komórki w zakresie w Excelu
Za pomocą kodu VBA można wykonać tę samą formułę do każdej komórki w zakresie, kolumnie lub wierszu. W tym rozdziale przejdziemy przez wszystkie sekcje.
1. zastosuj VBA dla każdej komórki w zakresie
Rozważ sytuację, w której musisz zastosować ten sam kod VBA dla każdej komórki w danym zakresie ( B3:F12 Aby to zrobić, zbudujemy kod VBA. Instrukcje są podane poniżej
Krok 1:
- Najpierw wstawimy przycisk polecenia, aby uprościć nasze zadanie. Przejdź do swojego Zakładka Deweloper , wybrany Wkładka , i kliknij na przycisk polecenia, aby uzyskać jeden.
- Mamy nasz przycisk poleceń.
- Kliknij prawym przyciskiem myszy na przycisk polecenia, aby otworzyć opcje. Wybierz i kliknij na Właściwości aby zmodyfikować niektóre opcje.
- Zmień Caption przycisku polecenia. Tutaj zmieniamy nazwę na, " Kliknij tutaj ".
Krok 2:
- Teraz kliknij dwukrotnie na przycisk polecenia, aby otworzyć VBA Moduł Tutaj zapiszemy nasz kod VBA do wykonania zadania.
- Najpierw zadeklarujemy dwie zmienne, które nazwiemy obiektami zakresu CL oraz Rng Możesz je nazwać jak chcesz.
Dim CL Jako Zakres Dim Rng Jako Zakres
- Przydzielenie określonego zakresu za pomocą tego polecenia,
Set Rng = Worksheets("VBA1").Range("B3:F12")
- Tutaj VBA1 jest nazwą naszego arkusza i B3:F12 to nasz zdefiniowany zakres.
- Teraz użyjemy kodu do wykonania przez każdą komórkę w zakresie.Kod to,
For Each CL In Rng CL.Value = 100 Next CL
- Wartość = 100 odnosi się do tego, że zwróci 100 dla każdej komórki w podanym zakresie.
- Tak więc nasz ostateczny kod staje się,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- Przejdź do swojego głównego arkusza i kliknij przycisk polecenia, aby uruchomić VBA dla każdej komórki w zakresie.
Krok 3:
- Podobnie jak wartości liczbowe, możemy również umieścić wartości tekstowe dla każdej komórki w zakresie. W takim przypadku przejdź do okna VBA i zamiast 100 wstaw wartość tekstową, którą chcesz przejechać.Zmieniony wiersz to.
CL.Value = "ExcelWIKI"
- Kliknij przycisk polecenia, a kod VBA zwróci tę wartość tekstową dla każdej komórki w zakresie.
Krok 4:
- W tym kroku będziemy kopać nieco głębiej. Powiedzmy, że chcemy podświetlić każdą pustą komórkę w naszym zakresie.
- W tym celu dodaj nowy warunek do istniejącego kodu. Nowa formuła to,
If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If
- Ten nowy kod podświetli pustą komórkę czerwonym kolorem, więc pełny kod to,
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- Uzyskaj wynik klikając na przycisk polecenia.
Podobne Lektury:
- Jak wykorzystać obiekt Range w VBA w Excelu (5 właściwości)
- Użyj VBA Range Offset (11 sposobów)
- Jak liczyć tekst w programie Excel (7 prostych sztuczek)
2) Wstaw kod VBA dla każdej komórki w kolumnie zakresu
Możemy uruchomić kod VBA również dla każdej komórki w kolumnie. Załóżmy, że mamy kolumnę zawierającą liczby i musimy pokolorować wartości mniejsze niż 10. Zbudujemy kod VBA, aby uruchomić każdą komórkę w kolumnie.
Krok 1:
- Utwórz przycisk polecenia, postępując zgodnie z instrukcjami, które omówiliśmy.
Krok 2:
- Kliknij dwukrotnie przycisk polecenia, aby otworzyć okno VBA.
- Zadeklarujemy zmienną o nazwie " c " typu long. Używamy tutaj zmiennej typu Long, ponieważ zmienne Long mają większą pojemność niż zmienne Integer.
Dim c As Long
- Następnie dodajemy linię kodu, która zmienia kolor czcionki wszystkich komórek w naszej kolumnie na czarny.
Columns(1).Font.Color = vbBlack
- Wstaw pętlę dla tego kodu.
For c = 1 To Rows.Count Next c
- W tym kroku wprowadzimy warunek, aby pokolorować wartości, które są niższe od wartości komórki C4 (10). W tym celu wprowadź taki kod.
If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If
- Zatem ostateczny kod to,
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- VBA zostanie uruchomione i pokaże wyniki po kliknięciu przycisku polecenia.
3. napisz kod VBA dla każdej komórki w wierszu zakresu
Możemy uruchomić kod VBA również dla każdej komórki w wierszu. W danym wierszu musimy wykonać tę samą akcję na każdej komórce wiersza.
Krok 1:
- Dodaj przycisk polecenia i zmień jego nazwę na " Kliknij tutaj! "
- Kliknij dwukrotnie na przycisk, aby otworzyć okno VBA. Zapisz podany poniżej kod VBA.
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String 'Dla każdej komórki w wierszu i zastosuj żółty kolor wypełnienia For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- Kod przebiegnie przez każdą komórkę wiersza i zastosuje do niej wypełnienie w kolorze żółtym.
- Klikamy na przycisk i nasz wynik jest tutaj.
Szybkie notatki
👉 Jeśli nie masz widocznej zakładki deweloperskiej, możesz ją aktywować za pomocą tej instrukcji.
Dostosowany pasek narzędzi szybkiego dostępu → Więcej poleceń → Dostosuj wstążkę → Deweloper → OK
Wniosek
Przeszliśmy przez trzy różne podejścia do uruchamiania VBA dla każdej komórki w zakresie. Serdecznie zapraszamy do komentowania, jeśli masz jakieś pytania lub zapytania. Możesz również sprawdzić nasze inne artykuły związane z zadaniami w Excelu!