niedziela, 8 lipca 2012

Jak za pomocą VBA czytać i zapisywać wartości komórek w Excel?

Wpisywanie danych

Za pomocą języka Visual Basic for Applications możemy wpisywać oraz czytać dane z dowolnej komórki arkusza Excel.

Możliwe jest wprowadzenie dowolnego tekstu, daty czy wartości liczbowej. W tym celu stosujemy składnię:

Cells(2, 3).Value = "ABC"

Powyższy kod wpisze tekst ABC w komórce C2 (wiersz 2, kolumna 3) w aktywnym arkuszu. Jeżeli pracujemy na kilku arkuszach, powinniśmy podać nazwę arkusza do którego chcemy wpisać dane:

Worksheets("Arkusz1").Cells(2, 3).Value = "ABC"

Tekst ABC zostanie wpisany w arkuszu o nazwie Arkusz1. Oczywiście możemy pracować na kilku otwartych skoroszytach - wtedy odwołujemy się do ściśle określonego skoroszytu:

Workbooks("test.xlsm").Worksheets("Arkusz1").Cells(2, 3).Value = "ABC"

W powyższym przykładzie test.xlsm jest nazwą skoroszytu, natomiast Arkusz1 to nazwa arkusza z danymi.

Jasne jest, że ostatni przykład jest najbardziej uniwersalny i niezawodny ponieważ użytkownik arkusza może mieć kilka otwartych skoroszytów a co gorsza może próbować przełączyć się między nimi w trakcie pracy skryptu. Ze względu na przejrzystość artykułów przykłady podaję w formie skróconej, jednak nie zapominajmy o niezawodności kodu!

Wpisywanie formuł

VBA pozwala nam też wprowadzać formuły do arkusza kalkulacyjnego za pomocą składni:

Cells(3, 1).Formula = "=A1+A2"

Powyższy kod przypisze komórce A3 formułę A3=A1+A2. Nie zapominajmy o znaku równości w formule!

Brak komentarzy:

Prześlij komentarz