cognity

4 triki w języku VBA w Excelu

Zapraszamy do zapoznania się z 4 praktycznymi trikami dzięki, którym usprawnisz swoją pracę w programie MS Excel. 

01 października 2017
blog

VBA Excel: jak ukryć arkusz kalkulacyjny w Excelu

 

Istnieją trzy rodzaje widoczości arkusza w VBA:

  • xlSheetVisible – widoczny
  • xlSheetHidden – ukryty w taki sposób, że można go odkryć przy pomocy menu kontekstowego znajdującego się pod prawym przyciskiem myszy
  • xlSheetVeryHidden – arkusz ukryty i niedostępny w menu kontekstowym pod PPM

 

VBA Excel: Daty w Excelu wyświetlane z nazwą dnia tygodnia

 

Pierwszym rozwiązaniem jest zastosowanie dwóch funkcji: Weekday oraz funkcji WeekdayName

Funkcja Weekday przyjmuje dwa argumenty: datę oraz jaki dzień jest dla nas pierwszym dniem tygodnia (domyślnie jest to niedziela). 

Funkcja WeekdayName przyjmuje trzy argumenty: datę, czy podana nazwa ma być skrótem w postaci wartości logicznej (domyślnie podawana jest False – czyli podawana jest pełna nazwa) oraz pierwszy dzień tygodnia (domyślnie jest ustawiony na pobranie systemowych ustawień).

Połączenie dwóch funkcji w poniższy sposób.

WeekdayName(Weekday("2014-09-27", vbMonday))

zwróci wartość „sobota”.

Drugim rozwiązaniem jest zastosowanie tablicy jednowymiarowej:

 

Dimdzien_tygodnia(1 To 7) As String
dzien_tygodnia(1) = "niedziela"
dzien_tygodnia(2) = "poniedziałek"
dzien_tygodnia(3) = "wtorek"
dzien_tygodnia(4) = "środa"
dzien_tygodnia(5) = "czwartek"
dzien_tygodnia(6) = "piątek"
dzien_tygodnia(7) = "sobota"
Dimmoja_data As Date
moja_data = DateValue("2014-09-27")
MsgBoxdzien_tygodnia(Weekday(moja_data, vbMonday) + 1)
 

Podane rozwiązanie jest bardziej złożone, jednak pozwala na zdecydowanie programiście co zostanie wyświetlone.

 

VBA Excel: sformatowanie zaznaczania kolorem wierszy parzystych i nie parzystych

 

Pracując w programie Excel mamy możliwość sformatowania w odpowiedni sposób zaznaczenia w taki sposób, aby wiersze nieparzyste były oznaczone innym kolorem niż wiersze parzyste – język VBA idealnie sprawdza się w takich zadaniach. 

Aby wykonać zadanie opisane powyżej należy zastosować kod: 

 

i = 1
For Each wiersz In Selection.Rows ‘dla każdego wiersza w zaznaczeniu
If i Mod 2 = 0 Then ‘jeśli i jest parzyste
wiersz.Interior.Color = 255 ‘pokoloruj wiersz na czerwono
Else ‘w przeciwnym przypadku
wiersz.Interior.Color = 46523 ‘pokoloruj wierszy na zielono
End If
    i = i + 1 ‘zwiększaj i co jeden
Next
 

 

VBA Excel: nadawanie nazwy miesięcy arkuszom kalkulacyjnym 

 

Jeżeli posiadamy dwanaście arkuszy w skoroszycie i chcemy nadać im nazwy kolejnych miesięcy możemy do tego wykorzystać kod opracowany za pomocą VBA. W przygotowanym kodzie znajduje się zabezpieczanie przed sytuacja, w której plik posiada więcej niż dwanaście arkuszy. 

 

For Each sh In ActiveWorkbook.Worksheets ‘dlakażdegoarkusza
    If sh.Index<= 12
 Then ‘jeślinumerarkusza<= 12sh.Name = MonthName(sh.Index) ‘zmień nazwę na nazwę miesiąca
    End If
Next

 

Autorem artykułu jest Grzegorz Plak, trener Cognity.

Kurs VBA (Visual Basic for Applications) w Microsoft Excel zaawansowany - tworzenie złożonych formularzy i optymalizacja kodu
zaawansowany
cena
od 3000 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs VBA w Microsoft Excel zaawansowany - tworzenie złożonych formularzy...
Kurs VBA (Visual Basic for Applications) w Microsoft Word - wykorzystanie języka programowania do automatyzacji zadań w dokumencie tekstowym
początkujący
cena
od 3000 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs VBA w Microsoft Word - wykorzystanie języka programowania...
Kurs VBA (Visual Basic for Applications) w Microsoft PowerPoint - wykorzystanie możliwości PowerPoint przy użyciu kodu VBA i zastosowanie języka VBA w tworzeniu efektywnych prezentacji
początkujący
cena
od 3300 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs VBA w Microsoft PowerPoint...
Kurs VBA (Visual Basic for Applications) w Microsoft PowerPoint - wykorzystanie możliwości PowerPoint przy użyciu kodu VBA i zastosowanie języka VBA w tworzeniu efektywnych prezentacji
początkujący
cena
od 3300 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs VBA w Microsoft PowerPoint...
Kurs VBA (Visual Basic for Applications) w Microsoft Excel podstawowy - zasady tworzenia i kodowania algorytmów oraz automatyzacja pracy i tworzenie aplikacji
początkujący
cena
od 1090 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs VBA w Microsoft Excel podstawowy - zasady tworzenia i kodowania...
icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments