Archive for the ‘Ułatwienia’ Category

Excel i VBA - polecenia zapisu i zamknięcia skoroszytu

Friday, February 24th, 2012

Ostatnio pisałem o sposobach na automatyczne otwarcie makra po uruchomieniu skoroszytu. Teraz napiszę jak je zapisać i zamknąć automatycznie po wykonaniu wszystkich poleceń. Nie polecam na początek łączenia obu tych umiejętności w jednym pliku, gdyż może nas to pozbawić kontroli nad działaniem makr :) ale z czasem przyjdzie nam pomysł jak to połączyć i uniknąć problemów.
Aby wobec tego nie przeciągać dalej:

Sub makro()
‘…. jakieś instrukcje
ActiveWorkbook.Save
ActiveWorkbook.Close

‘ a można też krócej
ActiveWorkbook.Close savechanges:=True
‘ tu jednak trzeba zwrócić uwagę na to żeby dany skoroszyt miał już swoją nazwę
‘ jeśli nie ma to trzeba na końcu tej komendy dopisać filename:=”Twojanazwaskoroszytu.xls”
End Sub

makrozamyka1.png

Nasze makro możemy uruchomić dla ułatwienia przyciskiem, który sobie dodamy do arkusza

przyciskexcel2010.png

Gdybyś nie wiedział jak dodać sobie przycisk do menu (wstęgi) to poniżej pokazałem

przyciski.png

Gdy już wszystko gotowe to wciskamy nasz przycisk. Po wciśnięciu skoroszyt się zamknie.

Excel i VBA deklarowanie tablicy statycznej i dynamicznej

Sunday, February 5th, 2012

Tablice przydają się do tymczasowego przechowywania ciągów danych określonego typu i do szybszych obliczeń. Typ zmiennej przechowywanej w tablicy może być różnoraki w zależności od potrzeb, może to być ciąg znaków alfanumerycznych (String), byte, integer.

Podam jeden z wielu sposobów deklarowania przykładowej tablicy dwuwymiarowej (100 wierszy i 3 kolumny) przechowującej dane typu string

Niech nasza tablica nazywa się po prostu Tablica

Dim Tablica (100,3) as String

Jest to definicja tablicy statycznej kiedy wiemy ile wierszy i kolumn będzie zawierać.

Jeżeli nasza tablica ma za zadanie przechowywać dane, których ilości nie możemy na razie przewidzieć wówczas piszemy

Dim Tablica () as String

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.

jeśli te zmienne (ilość wierszy i ilość kolumn) nazwiemy odpowiednio

wiersze, kolumny to aby dookreślić tablicę piszemy

Redim Tab(wiersze, kolumny)

i nasza tablica będzie ich mieć tyle ile trzeba :)

Zwykle jest jednak tak że pobieramy do tablicy tylko niektóre konkretne kolumny z arkusza ich liczbę (kolumn) jesteśmy w stanie przewidzieć.

Teraz zagadnienie innego typu: jak zapisać dane do odpowiedniej kolumny w tablicy ?

Niech za przykład posłuży nam taka tabelka

zapisdotablicy1.png

Pętla For … Next która będzie pomocna przy wczytywaniu będzie wyglądać mniej więcej tak:

For i =1 to 3
Tablica(i,1)=Cells(i,1)
Tablica(i,2)=Cells(i,2)
Tablica(i,3)=Cells(i,3)
Next

dla każdego i (w sensie wiersza) będą zapisane kolejno dane do trzech kolumn tabeli

Gdybyśmy chcieli dla sprawdzenia pobrać z tablicy element Tablica(3,3) to byłaby to wartość “30″ piszę w cudzysłowiu gdyż byłyby to znaki 3 i 0 dlatego że jest to tablica z elementami typu String

UWAGA na koniec:
Jeśli dopiero zaczynasz przygodę z makrami w VBA to powyższe przykłady zapisuj wewnątrz procedury Sub Twoja_nazwa ()
np.

Sub ZapisDoTablicy()

Dim Tablica (3,3) as String
Sheets(”Arkusz1″).select
‘ Wskazujemy z którego arkusza pobieramy dane do tablicy
for i =1 to 3
Tablica(i,1)=Cells(i,1)
Tablica(i,2)=Cells(i,2)
Tablica(i,3)=Cells(i,3)
Next
‘ sprawdzamy element Tablica(3,3)
MsgBox Tablica(3, 3)
End sub

Taką procedurę zapisz w module (nie w kodzie arkusza)

Na górze modułu napisz jeszcze taki wiersz

Option base 1

Daje to informację dla VBA że twoje tablice są liczone od 1-go elementu a nie domyślnie od zerowego. W stosunku do tablic jest to ułatwienie.

Jak to wygląda w VBA w anglojęzycznej wersji Excel 2010

zapisdotablicy2.png

Jak to działa

zapisdotablicy3.png

Książka, która może pomóc w lepszym zrozumieniu tego tematu:

Pobierz fragment

Dodatki Firefox - Save as PDF

Saturday, April 9th, 2011

Rewelacyjny moim zdaniem dodatek Save as PDF zapisuje stronę tak jak ją widzimy ze wszystkimi linkami w kilka sekund na dysk naszego komputera. Pomijając wygodę jaką to daje lub udogodnienie na wypadek konieczności korzystania w trybie offline jest to niezłe moim zdaniem narzędzie marketingu wirusowego. Możemy łatwo zgrać naszą stronę na pendrive i podarować komuś, do dowolnego dzielenia się z innymi. Jest teraz sporo programów które robią takie czynności, ale pierwszy raz zetknąłem się z tym że jest to tak łatwe i szybkie. Praktycznie nie zajmuje czasu.
Inne zastosowania, które widzę to kolekcjonowanie wycinków z prasy internetowej, czy zgranie jakiegoś terminu z wikipedii do późniejszego wydruku. PDF jest plikiem “przyjaznym” dla czytających, dodatkowo mimo że jest już popularny od ponad 20 lat to jest przed nim jeszcze druga młodość, gdyż branża e-czytników (z wbudowaną sprzętową obsługą PDF) rozwija się obecnie bardzo dynamicznie (o e-czytnikach możesz skrótowo przeczytać na jednym z moich blogów - nowoczesne technologie)

Pobierz i zainstaluj dodatek Save as PDF teraz

Dodatki Firefox - Faviconize tab

Saturday, January 8th, 2011

Faviconize tab to dodatek, który pozwala w szybki sposób dotrzeć do stron, do których najczęściej zaglądamy. Są liczne sposoby aby łatwo dotrzeć do ulubionych stron między innymi pasek zakładek katalogi z zakładkami, dodatek fast dial. Jednak ten dodatek ma to do siebie że przy uruchamianiu przeglądarki strony te od razu ładują się do pamięci i są bezpośrednio dostępne. To trochę tak jak byśmy zamknęli przeglądarkę z otwartymi sesjami i przy jej otwarciu zapamiętane uprzednio sesje ładują się same. Różnica jest tylko taka że karta taka jest zablokowana i jej zakładka zajmuje mniej miejsca na pasku a jej oznaczenie stanowi favikona strony (o ile strona taką posiada). Przez słowo zablokowana należy rozumieć że jej przypadkowe zamknięcie jest odrobinę utrudnione (nie występuje x do zamykania karty). Osobiście używam tego dodatku w odniesieniu do stron które w danym czasie mnie interesują, potem jedne strony zastępuję innymi. Podobna funkcja występuje w Chrome pod nazwą “Przypnij kartę”, która działa równie dobrze i nie trzeba jej ściągać w formie dodatku. Obecnie używam Firefoxa w wersji 3.6.12

Tak wygląda to w Firefox
Firefox dodatek Faviconize

a tak w Chrome

Chrome Przypnij kartę

Dodatek Faviconize Tab można ściągnąć ze strony

https://addons.mozilla.org/pl/firefox/addon/3780/

Excel 2003 - zamiana pierwszej litery na dużą

Friday, July 23rd, 2010

Czasem może zajść potrzeba aby kilkaset lub więcej nazw zmienić tak aby zaczynały się z dużej litery. O ile przypadek że zmieniamy nazwy z samych małych liter może być dość rzadki o tyle zmiana z samych dużych może występować częściej. Do zamiany ciągów znaków w taki sposób służy funkcja tekstowa Z.WIELKIEJ.LITERY()

zwielkiejlitery.PNG

W wersji anglojezycznej excela funkcja ta nosi nazwę PROPER()