TOP

VBA-Lekcja 5. Właściwości (Properties)

W tym artykule dowiemy się, jak napisać kod VBA, aby kontrolować zawartość komórek, same komórki i litery.

Właściwość to atrybut obiektu, który definiuje jedną z cech obiektu, taką jak jego rozmiar, kolor lub położenie na ekranie, lub aspekt jego zachowania, na przykład to, czy jest włączony lub widoczny na ekranie.

Aby zmienić charakterystykę obiektu, należy zmienić wartość jego właściwości.


1. Wpisz wartości w komórce

Najpierw otwórz edytor, dodaj moduł, skopiuj tam to makro:

Sub Properties() 'moonexcel.com.ua
   Range ("A1")
End Sub

Skierowaliśmy się do celi A1. Teraz spróbujmy kontrolować tę komórkę. Aby zobaczyć, co możemy zrobić, dodajmy kropkę po Range („A1”).

Wybierz Value i naciśnij Tab. Otrzymamy następujący kod:

Sub Properties() 'moonexcel.com.ua
        Range ("A1").Value
End Sub

Wartość Value wyświetla zawartość komórki.

Teraz napiszmy wartość 35 w komórce A1:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   'Wartość komórki A1 wynosi 35
End Sub

Spróbujmy teraz zapisać tekst w komórce (przypisując wartość tekstową, należy ją ująć w cudzysłów „”):

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = "Jest tu jakiś tekst"
End Sub

Pamiętaj, że makro wyświetli wartości z ostatnio otwieranego arkusza. Dlatego też, aby kontrolować zawartość komórki na dowolnym arkuszu książki, będziemy musieli napisać pełną ścieżkę do komórki, czyli dodać nazwę arkusza na początku kodu, na przykład:

Opcja 1. Aplikujemy po nazwie litery - Sheets("Arkusz2").

Sub properties() 'moonexcel.com.ua
   Sheets("Sheet2").Range("A1").Value = "Jest tu jakiś tekst"
   'Oznacza to: otwórz arkusz 2, wybierz komórkę A1 i wpisz tekst w jej wartości
End Sub

Opcja 2. Aplikujemy nie po nazwie listu, ale po jego numerze seryjnym - Sheets(2).

Sub properties() 'moonexcel.com.ua
   Sheets(2).Range("A1").Value = "Jest tu jakiś tekst"
End Sub

Podobnie, jeśli chcemy odwołać się do komórki w innym skoroszycie, musimy wpisać nazwę skoroszytu na początku kodu:

Sub properties() 'moonexcel.com.ua
   Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "Jest tu jakiś tekst"
End Sub

Chociaż w naszych przykładach określiliśmy parametr Value, w rzeczywistości można go pominąć, ponieważ jest on domyślny. Oznacza to, że te dwie linie kodu będą równoważne:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   Range("A1") = 35
End Sub

2. Usuwanie wartości

Usuńmy wartość 35 z komórki A1, którą zanotowaliśmy na początku lekcji:

Sub properties() 'moonexcel.com.ua
   Range("A1").Clear
   'Oznacza: wybierz komórkę A1 i wyczyść ją
End Sub

3. Formatowanie wartości

Jeśli wybierzesz Font, pojawi się lista właściwości, które możesz zastosować do komórki:

Formatowanie: zmiana rozmiaru tekstu

Ustawmy komórkę na 35 i zmniejszmy rozmiar czcionki do 8:

Sub properties() 'moonexcel.com.ua
   Range("A1") = 35
   Range("A1").Font.Size = 8
End Sub

Formatowanie: Pogrub tekst

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = True
End Sub

Usuń tłustą wydzielinę:

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = False
End Sub

Formatowanie: Ustaw tekst kursywą

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Italic = True
End Sub

Formatowanie: podkreśl tekst

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Underline = True
End Sub

Formatowanie: ustaw typ czcionki

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Name = "Arial"
End Sub

Formatowanie: pokoloruj komórkę

Sub properties() 'moonexcel.com.ua
   Range("A1").Interior.ColorIndex = 6
End Sub