środa, 19 stycznia 2011

Formatowanie komórek

W arkuszu kalkulacyjnym Excel możemy dowolnie formatować zawartości komórek. W tym wpisie zaprezentuję podstawowe ustawienia formatowania danych liczbowych.

Aby zmienić format danych znajdujących się w komórce/komórkach należy najpierw zaznaczyć wszystkie dane które mają być zmodyfikowane a następnie włączyć okienko formatowania.

Okienko formatowania komórki można włączyć na kilka sposobów. Pierwszym z nich i chyba najłatwiejszym jest kliknięcie prawym klawiszem myszki na komórce, którą chcemy sformatować. Gdy pojawi się menu kontekstowe należy z niego wybrać opcję Formatowanie komórek... i wtedy naszym oczom ukaże się okienko formatowania:


Jeżeli okno formatowanie otworzyłoby się z aktywną inną zakładką niż Liczby należy przełączyć właśnie na tą zakładkę.

Teraz możemy już wybrać kategorię formatowanie jakie ma być zastosowane dla wybranej komórki/komórek.

  • Ogólne - jest to format w którym liczba jest wyświetlana bez formatowania, data i godzina zamieniane są na odpowiednie liczby
  • Liczbowe - po wybraniu tego formatu możemy ustalić ile cyfr będzie wyświetlane po przecinku, możliwe jest włączenie separatora tysięcznego oraz wybór sposobu wyświetlania liczb ujemnych - np.  kolorem czerwonym
  • Walutowe - formatowanie, które pozwala na ustawienie ilości miejsc po przecinku oraz automatyczne dodanie symbolu odpowiedniej waluty, podobnie jak w przypadku formatowania Liczbowego istnieje możliwość ustawienie innego formatowania dla liczb ujemnych
  • Księgowe - formatowanie podobne do walutowego, nie posiada opcji innego formatowania liczb ujemnych
  • Data - pozwala na ustawienie odpowiedniego formatu daty - zmiany kolejności dzień miesiąc rok na rok miesiąc dzień itp. Pojawia się lista przewijana Typ, w której można wybrać jeden z predefiniowanych typów daty. Możemy również wybrać opcję Ustawienia regionalne dzięki której data będzie wyświetlana np. z nazwami miesięcy w wybranym języku.
  • Czas - pozwala na formatowanie czasu zapisanego w komórce. Ustawienia podobne jak w przypadku Daty
  • Procentowe - formatowanie zamieniające liczbę (ułamek) na procent, program automatycznie dodaje znak "%", możliwe jest ustawienie ilości miejsc jakie mają być wyświetlane po przecinku
  • Ułamkowe - zamienia ułamek na zapis z ukośnikiem "/", należy wybrać odpowiedni Typ z listy
  • Naukowe - pozwala na zapisanie liczby w formacie wykładniczym np. liczba 1234 zostanie wyświetlona jako 1,23E+03. Mamy tu możliwość ustawienia ilości miejsc po przecinku jakie mają zostać wyświetlone
  • Tekstowe - nawet jeżeli w komórce pojawia się liczba zawartość komórki jest traktowana jako tekst
  • Specjalne - formatowanie to zawiera różne typy formatowanie w zależności od wyboru ustawień regionalnych, możemy np. wybrać Kod pocztowy, Numer NIP lub Numer PESEL itp.
  • Niestandardowe - dokładny opis zamieszczę w przyszłości z uwagi na mnogość możliwości formatowania i większy poziom trudności.

Gdy już wybierzemy odpowiedni typ formatowania i ustawimy wszystkie parametry klikamy na przycisk OK i zmiany zostaną wprowadzone do wszystkich zaznaczonych komórek.

wtorek, 4 stycznia 2011

Makro sprawdzające ostatnie wystąpienie znaku licząc od prawej strony

Do napisania tego posta zainspirował mnie kolega Bartłomiej, który potrzebował właśnie takiego rozwiązania w swojej pracy.

Przedstawione makro działa w następujący sposób:
  • najpierw zaznaczamy pierwszą komórkę w której ma nastąpić sprawdzanie
  • uruchamiamy makro - ctrl + q
  • program pyta o tekst do porównania - jeden znak lub ciąg znaków
  • następuje sprawdzenie czy podany został ciąg znaków przed wciśnięciem OK
  • następnie program wyszukuje zadany ciąg znaków w zaznaczonej komórce
  • w komórce po prawej wpisuje położenie początku ciągu znaków od prawej strony
  • następnie sprawdza czy komórka poniżej jest wypełniona, jeżeli tak to cały cykl się powtarza
Animacja prezentująca sposób działania makra

Aby nagrać makro należy zaznaczyć dowolną komórkę w arkuszu kalkulacyjnym a następnie wybrać:

Narzędzia ⇒ Makro ⇒ Zarejestruj nowe makro...


Pojawi się okno:
Nadajemy nazwę, definiujemy klawisz skróty oraz wybieramy miejsce przechowywania tego makra. Jeżeli chcemy aby makro było dostępne dla wszystkich skoroszytów można wybrać na miejsce przechowywania Skoroszyt makr osobistych z listy rozwijanej. Następnie wciskamy OK. Pojawia się okienko w którym zaznaczamy Odwołanie względne :


Kolejnym krokiem jest zatrzymanie nagrywania makra poprzez wciśnięcie w tym samym oknie niebieskiego kwadratowego przycisku.
Teraz pozostaje już tylko włączenie edycji makra i wklejenie poprawnego kodu, a więc do dzieła.

Narzędzia ⇒ Makro ⇒ Makra...


Zaznaczamy nagrane makro i wciskamy przycisk Edycja. Pojawia się okno w którym należy wkleić kod, który zamieszczam poniżej:



Sub Makro_wyszukaj()
'
' Makro zarejestrowane 2011-01-01 :)
'---Deklaracja zmiennych---------------------
Dim napis As String
Dim znak As String
Dim dl As Integer
Dim i As Integer
Dim numer As Integer
'---Inicjalizacja zmiennych---------------------
i = 1
znak = InputBox("Podaj szukany tekst:")
napis = ActiveCell.Value
If Len(znak) <> 0 Then
'---Pierwsza pętla WHILE---------------------
Do While Len(napis) > 0
    dl = Len(napis)
    'MsgBox (dl)
'---Druga pętla WHILE---------------------
    Do While dl >= i
        If Mid(napis, i, Len(znak)) = znak Then
            numer = i
        Else
            'nic nie robię
        End If
        i = i + 1
    Loop
    '---Koniec pierwszej pętli---------------------
    ActiveCell.Offset(0, 1).Range("a1").Select
    ActiveCell.Value = numer
    ActiveCell.Offset(1, -1).Range("A1").Select
    napis = ActiveCell.Value
    'MsgBox Len(napis)
    i = 1
    numer = 0
    Loop
    '---Koniec drugiej pętli---------------------
   
        Else
            MsgBox ("Nie podałeś tekstu do porównania.")
        End If
        '---Koniec instrukcji wariantowej IF...THEN---------------------
End Sub



Gdy już wkleimy skopiowany tekst należy wcisnąć ctrl+s lub znak dyskietki po lewej stronie u góry okna. Zamykamy okno i już makro jest gotowe. Przypominam o skrócie uruchamiającym makro czyli ctrl+q

Mam nadzieję, zaprezentowane makro będzie przydatne. Wszelkie wątpliwości postaram się wyjaśnić jeżeli otrzymam pytania do powyższego posta ;)