1. Czym są makra w Excel
Makra w Excel to programy działające pod Excelem. Każdy z tych programów ma swój kod. To właśnie ten kod jest napisany w VBA. Makr w Excelu używamy przede wszystkim do przyspieszenia i automatyzacji działań, które robilibyśmy ręcznie. By w pełni korzystać z makr i VBA, w pierwszej kolejności powinniśmy włączyć obsługę makr w naszym Excelu oraz mieć aktywną kartę Deweloper. Jak to zrobić, dowiedzieliśmy się w poprzedniej części kursu.
2. Jak zarejestrować makro w Excel
Karta Deweloper jest już dostępna w naszym Excelu. By zarejestrować dowolną sekwencję działań wybieramy w kracie Developer ikonę „Zarejestruj makro„. Wyświetli nam się okno, w którym wpisujemy nazwę naszego makra. Możemy wprowadzić także jego opis i skrót klawiszowy. Pamiętajmy, by skrót nie kolidował ze standardowymi skrótami dostępnymi w Excelu. Samo makro możemy zapisać w bieżącym pliku, bądź też skoroszycie makr osobistych. Wszytko zależy od tego, do czego służy Ci Excel i jak go użytkujesz. Pisząc obszerny program, właściwym miejscem do zapisu będzie tutaj bieżący plik w formacie xlsm, a więc Skoroszyt programu Excel z obsługą makr. Jeśli natomiast chcemy, by nasze makro mogło działać na różnych arkuszach i skoroszytach, zasadne będzie zapisanie makra w skoroszycie makr osobistych. Po nagraniu makra kończymy jego rejestrowanie w karcie deweloper klikając „Zakończ rejestrowanie„.

3. Jak uruchomić makro w Excel
By odtworzyć dowolne zarejestrowane, bądź napisane makro wchodzimy w kartę Developer i klikamy ikonę „Makra”. Makra uruchamiamy klikając przycisk „Uruchom”. W tym oknie także sprawdzamy czy makro było zapisane w bieżącym pliku xlsm, czy też w skoroszycie makr osobistych. Możemy także uruchomić makro z innego otwartego pliku Excel.

4. Zadania (Rozwiązanie możesz wpisać w komentarzu)
4.1. Korzystając z rejestratora makr, zarejestruj i odtwórz następujące działania: Wypełnij 3 komórki dowolnymi wartościami liczbowymi. Pokoloruj komórki na kolor czarny. Tekst w komórkach pokoloruj na biało. Zakończ rejestrację makra i odtwórz je ponownie na czystym arkuszu.
9 komentarzy “Wprowadzenie do makr w Excel VBA”
W jaki sposób mogę zarejestrować makro, które zablokuje mi w widoku górny wiersz?> Próbuję i nie wychodzi.
Rob, dzięki za komentarz. W Excelu są też działania, których nie da się zarejestrować makrem. Niestety należy do nich właśnie blokowanie wierszy, kolumn, okienek:)
Wyszło mi coś takiego:
[code]
Sub Test()
Range(„A1”).Select
ActiveCell.FormulaR1C1 = „1”
Range(„B1”).Select
ActiveCell.FormulaR1C1 = „2”
Range(„C1”).Select
ActiveCell.FormulaR1C1 = „3”
Range(„A1:C1”).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Range(„A1”).Select
End Sub
[code/b]
Sub Zad4()
Range(„A1”) = „4”
Range(„B1”) = „16”
Range(„C1”) = „30”
Dim komorka As Range
Set komorka = Range(„A1”)
komorka.Interior.Color = vbBlack
komorka.Font.Color = vbWhite
Set komorka = Range(„B1”)
komorka.Interior.Color = vbBlack
komorka.Font.Color = vbWhite
Set komorka = Range(„C1”)
komorka.Interior.Color = vbBlack
komorka.Font.Color = vbWhite
End Sub
Bardzo fajny kurs,
Dziękuję i pozdrawiam 🙂
Sub kenigzadania1()
’
’ kenigzadania1 Makro
’
’ Klawisz skrótu: Ctrl+r
’
Range(„A1”).Select
ActiveCell.FormulaR1C1 = „10”
Range(„A2”).Select
ActiveCell.FormulaR1C1 = „20”
Range(„A3”).Select
ActiveCell.FormulaR1C1 = „30”
Range(„A1:A3”).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
Option Explicit
Sub Zadanie4_1()
’
’ Zadanie4_1 Makro
ActiveCell.FormulaR1C1 = „Pies”
Range(„A2”).Select
ActiveCell.FormulaR1C1 = „Kot”
Range(„A3”).Select
ActiveCell.FormulaR1C1 = „Ryba”
Range(„A1:A3”).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
Sub czarne()
’
’ czarne Makro
’
’ Klawisz skrótu: Ctrl+c
’
ActiveCell.FormulaR1C1 = „1”
Range(„A2”).Select
ActiveCell.FormulaR1C1 = „2”
Range(„A3”).Select
ActiveCell.FormulaR1C1 = „3”
Range(„A1:A3”).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorLight1
.TintAndShade = 4.99893185216834E-02
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End Sub
Sub Zad()
Range(„A1”) = „4”
Range(„B1”) = „16”
Range(„C1”) = „30”
Dim cell As Range
Set cell = Range(„A1:B1:C1”)
cell.Interior.Color = vbBlack
cell.Font.Color = vbWhite
End Sub