Archive for the ‘poziom zaawansowany’ Category

Excel 2010 - udostepnianie plików tylko do odczytu

Monday, December 9th, 2013

Często jest potrzeba aby plik Excela udostępnić współpracownikom lub kolegom, jednak istnieje prawdopodobieństwo że nasza praca może pójść na marne bo przez brak uwagi, ktoś usunie nam część danych lub naruszy strukturę skoroszytu. Mówię tu o sytuacjach w których tworzenie kilku kopii zapasowych mija się z celem. Po prostu chcemy udostępnić plik tylko do odczytu.

Excel 2010 zapewnia kilka poziomów bezpieczeństwa.

Pokażę najpierw jak zabezpieczyć arkusz przed edycją

Przeczytaj pełną wersję artykułu

Windows 7 i cmd - ustawienie adresu karty sieciowej

Monday, October 15th, 2012

W tym wpisie pokażę głównie jak ustawić adresy dla karty sieciowej lokalnej lub bezprzewodowej z użyciem wiersza poleceń.
Do ustawień parametrów sieci zwykliśmy używać okienkowej wersji konfiguratora (o ile nie zrzucamy wszystkiego na DHCP).
Będzie to więc coś nowego

Typowymi parametrami jakie tam wprowadzamy są:

- adres ip naszego komputera
- maska podsieci
- brama domyślna
- adresy serwerów DNS

Najpierw jednak skrótowo pokażę wersję okienkową i potem przejdę do cmd

Więcej w artykule CMD w Windows 7 - ustawienie adresu karty sieciowej

Odwoływanie się do komórek w innych arkuszach

Friday, June 22nd, 2012

Pierwotnie artykuł miał mieć inny tytuł, ale chciałem wrócić jeszcze do tego co ostatnio napisałem o nazywaniu komórek i zakresów.

Otóż jeśli chcemy przykładowo w komórce C9 arkusza Arkusz2 odnieść się do komórki AX11 w arkuszu Arkusz1 to musimy napisać w komórce C9 coś takiego:

=Arkusz1!AX11

Z kolei jeśli zastosujemy nazwę dla komórki to piszemy po prostu tę nazwę. Przykładowo komórkę AX11 w arkuszu Arkusz1 nazwiemy PRĘDKOŚĆ (wielkość liter nie ma znaczenia) to w komórce C9 arkusza Arkusz2 piszemy

=PRĘDKOŚĆ

i wyświetla nam się wartość tej komórki

Ponieważ temat odwoływania do komórek jest dość szerokim tematem to szkoda się ograniczać tyllko do tego przypadku.
Niegdyś omawiałem na tej stronie temat tworzenia listy rozwijanej na podstawie wartości w zaznaczonej grupie komórek.

sprpopr1.png

Formalnie w Excelu nosi to nazwę sprawdzanie poprawności

Jeśli chodzi o najnowszą wersję Excela (2010) to nie ma żadnych ograniczeń aby dane do listy pochodziły z innego arkusza. Po prostu przy wyborze źródła danych zaznaczamy inny arkusz i na nim zakres komórek. W wersji 2003 i starszych ograniczenie jest takie że dane do listy można pobrać wyłącznie z aktywnego w danym momencie arkusza.

chyba że …
No właśnie

…zastosujemy nazwę dla pożądanego zakresu komórek i do tej nazwy w okienku sprawdzania poprawności się odniesiemy pisząc:

=MOJA_NAZWA

oczywiście MOJA_NAZWA zastąp tą właściwą

Abyś to zrozumiał i mógł zastosować wystarczy że przeglądniesz poprzedni post oraz ten o sprawdzaniu poprawności

Aby sobie utrwalić zrób to najlepiej teraz

I jeszcze ostatni temat

To że nazwę przypisujemy do komórki pewnie Cię już nie dziwi, ale czy wiedziałeś(aś) że tą samą metodą możemy nazwę przypisać nie do komórki tylko do wartości.

nazwadostalej1.png

Można powiedzieć że to takie definiowanie stałej, która może mieć zasięg dla całego skoroszytu. Przykładem może być jakiś współczynnik do obliczeń matematycznych (dzięki czemu reguła ze wzorem staje się bardziej czytelna) lub stopa procentowa, może to być nawet stała tekstowa np nazwa ZUS przypisane do stałej “Zakład Ubezpieczeń Społecznych”
Jeśli to zdefiniujesz zobaczysz że w miejsce napisanego słowa ZUS podstawi się automatycznie Zakład Ubezpieczeń Społecznych

Spróbuj i przekonaj się :)

Excel 2010 nazywanie komórek i zakresów

Tuesday, June 19th, 2012

W excelu istnieje pewien mechanizm który bardzo ułatwia operowanie na dużych zbiorach danych, mało tego - jest też przydatny w przypadku pojedynczych komórek. Mowa tu o nazywaniu zakresów. Polega ono na przydzieleniu nazwy do jednej lub więcej komórek i używanie tej nazwy w formułach każdym miejscu skoroszytu.
To może przykład:
Zaznaczmy komórkę A1 i przypiszmy do niej nazwę PODATEK7 (zaraz opiszę jak)
Wpiszmy wartość dla tej komórki wynoszącą 0,07

Teraz zaznaczamy komórkę B1 i nazwiemy ją PRODUKT
Wpiszmy wartość dla tej komórki wynoszącą 100

a teraz napiszmy regułę dla komórki C10

=PRODUKT + PODATEK7*PRODUKT

Opis jak to zrobić w Excel 2010

excel_rname1.png

excel_rname2.png

excel_rname3.png

excel_rname4.png

excel_rname5.png

excel_rname6.png

excel_rname6a.png

Jest też drugi wiele szybszy sposób nadawania nazw:

1. Zaznacz jedną komórkę lub obszar kilku komórek
2. Następnie kliknij w pole na pasku formuł w lewym rogu

excel_znk.png

3. Wpisz w to pole swoją specyficzną nazwę

4. Naciśnij Enter

Jest to oczywiście dużo szybszy sposób, ale jego możliwości są ograniczone.

Wykorzystanie wcześniej zdobytej wiedzy o formułach CSE (tablicowych - poszukaj w serwisie kilka postów wcześniej)

Teraz trochę o nazwach dla zakresów komórek i wykorzystaniu ich zalet

Załóżmy że chcemy zrobić małą symulację cen produktów dla różnych marż lub opodatkowania (w tym przypadku to drugie)

Przygotowujemy dane:

ex_rn01.png

ex_rn02.png

ex_rn03-plus-cse.png

ex_rn04-plus-cse.png

ex_rn05-plus-cse.png

ex_rn06-plus-cse.png

Jak utworzyć własną formułę w Excelu

Tuesday, May 1st, 2012

Do tej pory często poruszałem temat procedur Sub, które wykonywały określone zadanie po czym ich rola zwykle się kończyła lub ograniczała się do wielokrotnego wykonania sekwencji identycznych czynności. Teraz omówię sposób utworzenia własnej formuły do zastosowania w komórkach Excela. Zakładam że masz problem ze znalezieniem tej właściwej formuły lub chcesz się po prostu dowiedzieć jak to zrobić.

Istotą działania formuły jest to że zwraca ona jakąś wartość w zależności od argumentów lecz niczego nie robi z formatem komórki.
Do utworzenia formuły potrzebujemy więc utworzenia funkcji w kodzie VBA. Robi się to podobnie jak w przypadku procedur Sub z tą różnicą że zamiast wyrażenia Sub nazwa () piszemy Function nazwa () funkcję zamykamy wyrażeniem End function

Mniej więcej tak

Function mojafunkcja () as Type
kod funkcji
End Function

oczywiście zamiast słowa type wpisujemy prawidłowy typ danych jaki ma zwracać nasza funkcja np Byte albo String albo Variant itp

i jeszcze coś ważnego:
zawsze przed słowami End Function przekazujemy wynik obliczeń lub działania formuły ze zmiennej do nazwy funkcji

wygląda to tak

Function mojafunkcja (jakaśzmienna1) as Type

‘coś tam się dzieje w naszej funkcji ze zmienną jakaśzmienna1

mojafunkcja=jakaśzmienna1
End Function

Przykładowa banalnie prosta funkcja zamieniająca mile na kilometry wyglądałaby tak

Function milenakm (mile as integer) as single
milenakm=mile*1,6
End function

Kod funkcji podobnie jak kod procedur Sub umieszczamy w Module VBE
ownformula1.png

ownformula2.png

ownformula3.png

ownformula4.png

ownformula5.png

W trakcie pisania artykułu posiłkowałem się tą książką
Vademecum Walkenbacha