Excel 2010 - określenie maks. używanej ilości wierszy i kolumn za pomocą kodu VBA
Chciałem omówić małą ale przydatną rzecz, która mi ostatnio bardzo pomogła w pracy a mianowicie określenie za pomocą komend VBA ilości użytych wierszy i kolumn w pliku. Jest to o tyle ułatwieniem że na tej podstawie mogę zadać granicę dla pętli for (lub innej) w celu dalszej analizy danych.
Aby sprawdzić jak to działa warto otworzyć jakiś plik z danymi lub samemu je przygotować
Warto zwrócić uwagę przy otwieraniu pliku Excela 2010 z makrami (jeżeli mamy już plik z napisanymi makrami) że trzeba niestety kliknąć przycisk “Enable content” (zezwalaj na treść) bez tego nasze makra nie będą działać.
Druga sprawa, od której należało może zacząć to ta że plik excela 2010 “utrudni” nam bezmyślne zapisanie go jako zwykłego pliku excela i zasugeruje by zapisać go w postaci pliku z zezwoleniem dla makr
i ten właśnie plik będzie wymagał wciśnięcia przycisku enable content aby je uruchamiać. oznaczony jest on specjalną ikoną
Teraz do rzeczy
1 mamy już dane
2 Po otwarciu pliku Excela naciskamy Lewy Alt +F11 i otwiera nam się okno VBA (Visual Basic for Applications) i zaznaczamy klikając dwukrotnie arkusz z naszymi danymi (w moim przypadku Arkusz1)
3. Wpisujemy kod jak niżej
Sub granice()
ostatniwiersz = ActiveSheet.UsedRange.Rows.Count
ostatniakolumna = ActiveSheet.UsedRange.Columns.Count
MsgBox “W arkuszu jest ” & ostatniwiersz & ” wierszy”
MsgBox “W arkuszu jest ” & ostatniakolumna & ” kolumn”
End Sub
Funkcje Msgbox służą mi jedynie do upewnienia się że wszystko jest ok i po ich użyciu mogę na przedzie każdej takiej lini dodać pojedynczy apostrof aby interpretator VB widział te linie jako komentarz i nic z nimi nie robił.
4. Uruchamiamy makro używając F5 lub menu
Możemy widzieć jeszcze coś takiego
5. Klikamy przycisk Run i oglądamy wyniki
To na razie tyle. Makro można zmodyfikować do swoich potrzeb. Dodam jeszcze że testowałem je w wersjach Excel 2000 i Excel 2003 a skoro w niezmienionej formie treść makra działa również w tej wersji (2010) to śmiało można powiedzieć że nie powinno być przeszkód aby działało również w wersji 2007

---------------------------------------------------------- KOCHANI CZYTELNICY ! Obecnie nie prowadzę aktywnej opieki nad tą stroną. Dużo z zawartych tu informacji zdezaktualizowało się i nie będzie tak pomocne jak dawniej. Mam nadzieję że znajdziecie tu jednak coś przydatnego. Gdyby były jakieś szczególne prośby z Waszej strony to możecie kierować je na email dartu@wp.pl Postaram się odpisać, chociaż nie obiecuję że nastąpi to szybko. Dariusz Tupaj 23.02.2019 ----------------------------------------------------------
February 5th, 2012 at 11:32 pm
[…] Ma to na celu zapobieganie zbędnemu przewymiarowaniu tablicy i zabezpiecza nas przed jej niedoszacowaniem Weźmy na przykład określenie maksymalnej liczby wierszy i kolumn w danym arkuszu excela o czym pisałem w kilku poprzedzających wpisach a głównie we wpisie Excel 2010 - określenie maks. używanej ilości wierszy i kolumn za pomocą kodu VBA. […]