Dodatki VBA – Tworzenie dodatków do Excel

1. W jaki sposób napisać dodatek do Excela w VBA?

Tworzenie prostego dodatku w VBA Excel polega przede wszystkim na napisaniu dobrego kodu makr VBA. W tym rozdziale dowiesz się w jaki sposób zainstalować takie makro jako dodatek Excela. Dodatek będzie składał się z dwóch makr:

  • Makro 1 – otwierające okno zapisu pliku i wstawiające bieżącą datę w nazwę pliku
  • Makro 2 – generujące przykładową tabelę danych z rozdziału o pętli Do Loop VBA

Poniżej okno z gotowymi kodami obydwu makr. Skopiuj je do modułu w nowym pliku Excela. Całość zapisz jako Dodatek programu Excel ( .xlam ). Podczas zapisu do xlam automatycznie powinien podpowiedzieć Ci się folder do przechowywania dodatków Excela. Najczęściej jest w tej lokalizacji: C:\Users\TWÓJ_LOGIN\AppData\Roaming\Microsoft\Dodatki. Nazwę dodatku ustalmy jako moj_dodatek.xlam.

'tomaszkenig.pl
Sub SaveAsWithDate()
    Dim strFilename As String
    strFilename = ActiveWorkbook.Name
    Application.Dialogs(xlDialogSaveAs).Show Format(Date, "yyyymmdd") & "_" & strFilename
End Sub

Sub GenerujDane()

Dim intCounter As Integer
Dim intColumn As Integer
Dim intRow As Integer

'wstawiamy nagłówki kolumn
Cells(1, 1) = "Liczba porządkowa"
Cells(1, 2) = "Numer indeksu"
Cells(1, 3) = "Data egzaminu"
Cells(1, 4) = "Wynik egzaminu"
Cells(1, 5) = "Ocena słowna"

'wypełniamy kolumnę Liczba porządkowa liczbami od 1 do 30
intCounter = 1
Do While intCounter <= 30
Cells(intRow + 2, 1) = intCounter
intCounter = intCounter + 1
intRow = intRow + 1
Loop

'wypełniamy kolumnę numer indeksu
intCounter = 1 'do licznika przypisujemy wartość 1
intRow = 0 'do licznika wierszy przypisujemy wartość początkową

Do While intCounter <= 30
Cells(intRow + 2, 2) = Int(90000 + Rnd() * 10000) 'Całkowita liczba losowa od 90kdo 100k
intCounter = intCounter + 1
intRow = intRow + 1
Loop

'wypełniamy kolumnę data egzaminu
intCounter = 1 'do licznika przypisujemy wartość 1
intRow = 0 'do licznika wierszy przypisujemy wartość początkową

Do While intCounter <= 30
Cells(intRow + 2, 3) = Date - 10 ' wstawiamy datę w 3 kolumnę
intCounter = intCounter + 1
intRow = intRow + 1
Loop

'wypełniamy kolumnę wynik egzaminu
intCounter = 1 'do licznika przypisujemy wartość 1
intRow = 0 'do licznika wierszy przypisujemy wartość początkową

Do While intCounter <= 30
Cells(intRow + 2, 4) = Int(Rnd() * 100) 'mnożymy liczbę losową przez 100 i zaokrąglamy
intCounter = intCounter + 1
intRow = intRow + 1
Loop
'wypełniamy ocenę słowną
Dim StrResult As String 'wstawiamy zmienną reprezentującą oceną słowną
intCounter = 1 'do licznika przypisujemy wartość 1
intRow = 0 'do licznika wierszy przypisujemy wartość początkową

Do While intCounter <= 30

'instrukcja warunkowa przypisuje wynik słowny na podstawie pkt. z kolumny Wynik
If Cells(intRow + 2, 4) <= 33 Then
StrResult = "Poprawka"
ElseIf Cells(intRow + 2, 4) > 33 And Cells(intRow + 2, 4) <= 67 Then
StrResult = "Zdał"
ElseIf Cells(intRow + 2, 4) > 67 Then
StrResult = "Zdał z wyróżnieniem"
End If

Cells(intRow + 2, 5) = StrResult

intCounter = intCounter + 1
intRow = intRow + 1
Loop

End Sub
Dodatki VBA - Jak napisać dodatek do Excela
Dodatki VBA – Jak napisać dodatek do Excela

2. Instalacja własnego dodatku VBA do Excel

By zainstalować własny dodatek do Excela, wejdź w kartę Developer. Pod ikoną Dodatki programu Excel możesz wybrać swój dodatek jak na poniższym screenie. Zaznacz Moj_dodatek i kliknij OK.

Instalacja własnego dodatku VBA Excel
Instalacja własnego dodatku VBA Excel

Dodatki VBA Excel w zakładkach instalujemy w menu Excel. Wchodzimy w Plik > Opcje > Dostosowywanie wstążki. Teraz powinniśmy zrobić następujące rzeczy:

  • Z lewej strony ustaw „Wybór polecenia z” na Makra
  • Z prawej strony stwórz nową kartę i automatycznie nową grupę
  • Przenieś z lewej strony swoje 2 makra do nowej grupy po prawej stronie
  • Po prawej stronie zmień nazwy swoich makr klikając prawy przycisk > Zmień nazwę.
  • Zmieniając nazwę ustal ikony dla swoich makr
  • Zmień także nazwy dla grupy i karty na bardziej przyjazne
  • Przesuń swój dodatek w dół zakładek, by wyświetlał się na końcu kart
  • Gotowe !!!
Własne dodatki do Excel
Własne dodatki do Excel

Teraz możesz już korzystać ze swoich własnych dodatków Excel.

Dodatki Excel - dodawanie własnego dodatku
Dodatki Excel – dodawanie własnego dodatku

Artykuł jest częścią kursu vba Excel. Całość kursu vba online zamieszczam w tym dziale. Artykuł został napisany po zapytaniu czytelnika w temacie pisania dodatków. Jeśli masz podobne pytania co do vba, baz SQL Server i Oracle zachęcam do kontaktu. Możesz też zadać mi pytanie na forum bez logowania. Link do pliku dodatku zamieszczam poniżej:

moj_dodatek

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *