Skip to main content
Reklama

Utwórz i sformatuj pole tekstowe Excel za pomocą VBA

Praca z wykresami i raportami w programie Excel może być trudna i czasochłonna. Jeśli spędzasz czas na tworzeniu raportów z istniejącego arkusza kalkulacyjnego, możesz użyć pól tekstowych, aby poprawić wygląd raportu.

W tym artykule opisano technikę używania VBA do dostosowywania raportowania danych poprzez umieszczenie pola tekstowego bezpośrednio pod wykresem i określenie odpowiedniego rozmiaru.

Utwórz diagram za pomocą VBA

Najpierw utwórz prosty diagram z niektórych istniejących danych. Tabela danych może wyglądać mniej więcej tak:


Names Sales
John 98
Maria 122
Henri 120
Mary 102
Peter 85
Jacques 130
Mary 100

Aby utworzyć diagram, możesz użyć tego kodu:


Charts.add

With ActiveChart
.SetSourceData Source:=Sheets("examples").Range("A1:B8")
.Location Where:=xlLocationAsObject, Name:="sheet 1"

End With

Aby ustawić wykres obok lewego marginesu, możesz ustawić właściwość left w następujący sposób:


activeChart.parent.left=20

Utwórz i umieść pole tekstowe

Jeśli schemat istnieje, możesz dodać tekst, ale najpierw kod musi wiedzieć, gdzie go umieścić. Chcemy ustawić pole tuż poniżej i zgodnie z lewą krawędzią wykresu, dlatego musimy znać niektóre wymiary wykresu.

  • Odległość od góry ekranu
  • Wysokość wykresu
  • Jak daleko jest ustawiony od lewej na stronie

Następnie możemy zakodować wartości, aby określić wymiary i położenie.

boxTop = c.Parent.top + c.Parent.Height + 5

boxLeft = c.Parent.left

boxHeight = 35

boxWidth = c.Parent.Width

Przy określonych wartościach możemy teraz utworzyć pole tekstowe. Pierwsza wartość „1” wyrównuje tekst w poziomie, a końcowa wartość „60” określa wysokość, którą można dostosować do własnych potrzeb.


ActiveSheet.Shapes.AddTextbox(1, boxLeft, boxTop, boxWidth, 60).Select

Po wykonaniu pełnego kodu pole tekstowe powinno pojawić się tuż pod diagramem i mieć tę samą szerokość. Wiele innych funkcji edycji jest dostępnych w VBA. Na przykład, jeśli podasz następujący kod, dzisiejsza data zostanie zapisana w krótkim formacie.


Selection.Characters.Text = "Report for " & Format(Now(), "dd/mm/yyyy")

Nie tylko możesz poprawnie pozycjonować i rozmiar VBA, ale możesz także wyodrębnić informacje, aby użyć ich jako etykiety lub do podświetlenia danych.

Podsumowanie

Podczas gdy program Excel zapewnia narzędzia do tworzenia raportów i wykresów, podstawowa znajomość języka VBA i dostosowywania może sprawić, że program Excel będzie bardziej wydajny i profesjonalny.

[ff id=”5″]