1. Jak napisać pierwszy program w Excel VBA
Jeśli już wiesz czym są makra i do czego służy VBA, najwyższy czas napisać swój pierwszy program. Chcemy, by w komórce „A1” arkusza danych, w którym obecnie jesteśmy wyświetlił nam się napis „Witaj w VBA!”. W tym celu otwieramy Edytor VisualBasic w karcie Developer. Klikamy prawym przyciskiem na element „Microsoft Excel Object” . Następnie Insert > Module. W kodzie modułu tworzymy program o nazwie FirstProgram(). Pisanie naszego programu rozpoczniemy frazą Sub nazwa_programu(). Zakończenie naszego programu kończy się frazą End Sub. Pomiędzy frazami wprowadzamy w jednej linii kod odpowiedzialny za zaadresowanie komórki „A1” oraz to, co chcemy do niej wprowadzić zgodnie z poniższym przykładem.
Sub FirstProgram() Range("A1") = "Witaj w VBA!" End Sub
Po napisaniu programu zamykamy edytor kombinacją klawiszy Alt+Q. By uruchomić nasz program wchodzimy w zakładkę Developer. Następnie wybieramy makra. Spośród makr FirstProgram. Jak widzimy za pomocą frazy „Range” możemy określić adres komórki arkusza, w której wstawiony zostanie nasz tekst. Jeśli chcielibyśmy, by nasze powitanie wyświetliło się w formie komunikatu, wykorzystujemy w tym celu okno MsgBox. Sam kod wygląda następująco:
Sub FirstProgram() MsgBox "Witaj w VBA!" End Sub
Więcej na temat okna MsgBox i jego funkcjach dowiesz się w dalszej części kursu w tym artykule.
2. Uruchamianie makra przy użyciu przycisku
Ok, wiesz już jak napisać swój pierwszy program. Spróbuj teraz uruchomić nasz program, używając do tego przycisku w Excelu. Wchodzimy w zakładkę „Deweloper”. Rozwijamy ikonę „Wstaw”. Następnie z formantów formularza wybieramy „Przycisk(formant formularza)”
Po jego wyborze możemy bezpośrednio przypisać makro do naszego przycisku. Z listy makr, która nam się wyświetli wybieramy nasze makro, a więc „FirstProgram()”.
3. Zadania (Rozwiązanie możesz wpisać w komentarzu)
3.1 Napisz program o nazwie „MojProgram” uzupełniający komórki A1, A2 i A3 Twoim Imieniem, nazwiskiem oraz rokiem urodzenia.
3.2 Wykonaj powyższe zadanie wykorzystując okno MsgBox. Wywołaj okno przy użyciu przycisku.
14 komentarzy “Pierwszy program w Excel VBA”
Rozwiazanie poniżej:)
Sub MojProgram()
Range(„a1”) = „xxx”
Range(„a2”) = „yyy”
Range(„a3”) = „1990-1-1”
End Sub
Sub zadanie1B()
MsgBox „Imię: Jerzy” & vbCrLf & „Nazwisko: Nowak” & vbCrLf & „Rok Urodzenia: 2000 pne.”, vbInformation
End Sub
A mój taki:
Sub Uzupełnianie()
MsgBox „Eugeniusz Bodo” & ” ” & „30.05.1974”
End Sub
Bardzo podoba mi się ten kurs – jestem osobą początkującą ale wszystko jest dla mnie zrozumiałe – świetna robota, dziękuję 🙂
No to chyba jesteś zaawansowana w początkowaniu…
Jestem początkujący ale od zera;
– jak powinno się przechodzić do kolejnego wiersza kodu?
– Dlaczego przed = „Witaj w VBA” pojawiło się „.Value” – u mnie sie nie pojawiło.
Option Explicit
Sub zadanie1()
Range(„A1”).Value = „1991/01/30”
Range(„A2”).Value = „Grzegorz”
Range(„A3”).Value = „Brzęczyszczykiewicz”
End Sub
Option Explicit
Sub zadanie1()
Dim data As Date
Dim imie As String
Dim nazwisko As String
data = „1991/01/30”
imie = „Grzegorz”
nazwisko = „Brzęczyszczykiewicz”
MsgBox imie & ” ” & nazwisko & ” ” & data
End Sub
Świetny kurs dziękuje !
Sub mojprogram()
a = InputBox(„Jak masz na imie?”)
b = InputBox(„Jak masz na nazwisko?”)
c = InputBox(„Podaj swoja date urodzenia”)
Range(„A1”) = a
Range(„A2”) = b
Range(„A3”) = c
End Sub
Sub mojprogram()
a = InputBox(„Jak masz na imie?”)
b = InputBox(„Jak masz na nazwisko?”)
c = InputBox(„Podaj swoja date urodzenia”)
Range(„A1”) = a
Range(„A2”) = b
Range(„A3”) = c
End Sub
Sub mojprogram1()
a = InputBox(„Jak masz na imie?”)
b = InputBox(„Jak masz na nazwisko?”)
c = InputBox(„Podaj swoja date urodzenia”)
MsgBox „Witaj ” & a & ” ” & b & vbNewLine & „Twoj rok urodzenia to: ” & c, , „Dziekujemy”
End Sub
Ja użyłam InputBoxa zamiast MgrBoxa 😀
Sub MojProgram()
Imie = InputBox(„Podaj swoje imię”, „Dane osobowe”)
Nazwisko = InputBox(„Podaj swoje nazwisko”, „Dane Osobowe”)
DataUrodzenia = InputBox(„Podaj datę swojego urodzenina.”, „Dane osobowe”)
Worksheets(2).Cells(1, 1).Value = Imie
Worksheets(2).Cells(2, 1).Value = Nazwisko
Worksheets(2).Cells(3, 1).Value = DataUrodzenia
Columns(„A:A”).EntireColumn.AutoFit
End Sub
Sub pierwszyprogram()
Range(„a1”) = „PIOTR”
Range(„a2”) = „BORI”
Range(„a1”) = „20.09”
MsgBox „ZROBIONE”
End Sub
Option Explicit
Sub FirstProgram()
Dim name As String
Dim lname As String
Dim dat As Date
name = „Janusz”
lname = „Mariusz”
dat = „01-01-2991”
Range(„a1”).Select
Range(„a1”).Value = name
Range(„a2”).Value = lname
Range(„a3″).Value = dat
MsgBox name & ” ” & lname & ” ” & dat
End Sub
zadnie wykonane