Jeśli chcesz dodać makro jako przycisk w pasku narzędzi szybkiego dostępu to wystarczy, żebyś kliknął prawym przyciskiem myszy i z podręcznego menu musisz wybrać polecenie Dostosuj pasek narzędzi Szybki dostęp.
Następnie w oknie, które się pojawi potrzebujesz wybrać u góry z listy rozwijanej pozycję makra.
Zobaczysz wtedy wszystkie makra z otwartych plików (przykładowo na rysunku poniżej są to makra ze skoroszytu makr osobisty – PERSONAL.XLSB). Wystarczy, że naciśniesz przycisk Dodaj, żeby dodać je do poleceń paska narzędzi szybkiego dostępu.
Ponieważ wszystkie makra mają domyślnie takie same ikony, to warto zmodyfikować ją dla makra, z którego korzystamy, żebyśmy szybko je rozpoznawali – wystarczy, że zaznaczysz polecenie/makro, a następnie klikniesz przycisk Modyfikuj. Pokaże się wtedy okno, gdzie możesz wybrać ikonę dla polecenia i ewentualnie zmienić nazwę dla niego.
Wystarczy pozatwierdzać wybór ikony i dodane makro przyciskami OK i już na pasku narzędzi zobaczysz wybrane makro (na obrazie poniżej ikona klepsydry).
Analogicznie możesz dodać makro do kart wstążki, ale dopiero od Excela 2010, bo dopiero ta wersja udostępnia opcję modyfikacji wstążki.
Jeśli chcesz pokazać wartości na osi wykresu w tysiącach lub milionach potrzebujesz zmienić odpowiednią opcję we właściwościach osi wykresu.
Najpierw zaznacz oś , a następnie upewnij się, że jesteś na zakładce Opcje osi. Następnie musisz odnaleźć listę rozwijaną Jednostki wyświetlania i wybrać z niej jak chcesz zmodyfikować sposób wyświetlania liczb na osi, czyli czy np: chcesz je pokazać w tysiącach czy milionach.
Możesz ewentualnie odznaczyć pole wyboru (checkbox) Pokaż jednostki wyświetlania na wykresie, jeśli nie chcesz, żeby obok osi pokazywała się informacja, że pokazywane liczby to miliony, jeśli zmodyfikowałeś inaczej ich formatowanie.
Jeśli potrzebujesz przedstawić wykres koła na wykresie punktowym, to musisz zbudować do niego odpowiednie dane. Musimy tu zacząć od równania okręgu:
R2 = X2 + Y2
Zabierając się do odpowiednich obliczeń musisz wiedzieć, że Excel do wykresów punktowych jako wartości X interpretuje tylko pierwszą kolumnę danych. Pozostałe są interpretowane domyślnie jako Y. Dlatego dla uproszczenia obliczymy sobie punkty X, a później dwie serie Y odpowiednio ujemne i dodatnie. Takie rozpisanie wynika z równania okręgu i faktu, że funkcja PIERWIASTEK w Excelu będzie zawsze zwracać wartość dodatnią.
Załóżmy, że wystarczy nam 201 x‑ów. Na podstawie R (promienia okręgu) możemy je obliczy za pomocą następującego równania:
=$F$1*(ILE.WIERSZY($A$3:A3)-101)/100
Wystarczy, że przeciągniemy je odpowiednio daleko w dół, żeby zakres w funkcji ILE.WIERSZY ($A$3:A3) powiększył się do 201 wierszy.
Gdy mamy już podane x. Na ich podstawie możemy wyliczyć y odpowiednie z plusem i minusem.
=-PIERWIASTEK($F$1*$F$1‑A3*A3)
Teraz wystarczy zaznaczyć dane i przedstawić je na wykresie punktowym z wygładzonymi liniami.
Ewentualnie pozostanie Ci zmiana koloru jednej z serii ponieważ, mamy dwie serie dla y i Excel je inaczej pokolorował.
Potrzebujemy zmienić kolor tylko wybranych słów/fraz w zaznaczonych komórkach Excela. Sam Excel sobie z tym nie poradzi dlatego musimy napisać odpowiedni kod VBA.
Kod
Sub ZmieńKolor()
Dim MojeSłowo As String, Długość As Integer, i As Integer
Dim r As Range, SF As Integer 'Jakie słowo frazę chcesz zmienić
MojeSłowo = InputBox("Podaj słowo jakie chcesz pomalować na czerwono") 'Długość słowa/frazy, którą chcesz zmienić
Długość = Len(MojeSłowo) 'Pętla po wszystkich komórkach ® w zaznaczonym obszarze (Selection)
For Each r In Selection
'Pętla po znakach w aktualnej komórce
For i = 1 To Len(r.Value)
'Ponieważ może nie znaleźć słowa w komórce potrzebujemy obsługiwać 'błąd wystarczy, że każemy VBA przejść dalej
On Error Resume Next SF = 0 'rozróżnia wielkość liter SF = WorksheetFunction.Find(MojeSłowo, r.Value, i) 'Nie zwraca uwagi na małe wielkie 'SF = WorksheetFunction.Find(UCase(MojeSłowo), UCase(r.Value), i) 'Wracamy do normalnej obsługi błędu
On Error GoTo 0 'Jeśli zmienna SF większa od zera to znaczy, że tekst został 'odnaleziony, czyli zmieniamy kolor części tekstu
If SF > 0 Then
r.Characters(Start:=SF, Length:=Długość).Font.Color = RGB(255, 0, 0)
i = SF + 1 'jeśli nie to kończymy pętlę i przechodzimy do sprawdzania następnej komórki
Else
Exit For
End If
Potrzebujemy odnaleźć komórki, które spełniają warunek daty (wybieramy odpowiedni wiersz) oraz wartości w tych komórkach mają być większe od zera.
Żeby odnaleźć je wszystkie potrzebujemy niestety skomplikowanej formuły. W pierwszej kolejności warto, żebyśmy obliczyli ilość komórek, które spełniają warunki, żeby ograniczyć później ilość wykonywanych obliczeń tablicowych.
Żeby zlokalizować wiersz dla daty będziemy potrzebowali przede wszystkim funkcji INDEKS, która będzie patrzeć na cały zakres danych. Następnie będziemy potrzebowali znaleźć wiersz, który nas interesuje, czyli datę. W tym pomoże nam funkcja PODAJ.POZYCJĘ, która odnajdzie pozycję wybranej daty na liście wszystkich dat. Będziemy jeszcze potrzebowali powiedzieć Excelowi, że interesuje nas cały wiersz, dlatego w trzecim argumencie funkcji INDEKS będziemy musieli wpisać wartość 0.
Dzięki temu, że funkcja INDEKS zwraca odwołanie do zakresu możemy ją wstawić do funkcji LICZ.JEŻELI i policzyć ilość wartości w wierszu większych od zera.
Gdy mamy obliczoną ilość komórek w interesującym nas wierszu, które spełniają nasze kryterium, to możemy zacząć pisać formułę, która pozwoli nam wyciągnąć szukane wartości. W środku będzie nasza pierwsza funkcja INDEKS, dla której sprawdzimy, które wartości są większe od zera. Dla tych wartości chcemy, żeby Excel nam zwracał numery kolumn, w których te wartości się znajdują. Będziemy do tego potrzebowali funkcji JEŻELI, a jako jej drugiego argumentu funkcji NR.KOLUMNY, która będzie patrzeć na zakres $A$1:$H$1, żeby zwracała nam kolejne liczby (numery kolumn od 1 w górę). Trzeci argument funkcji JEŻELI pomijamy dzięki temu wynikiem naszej formuły będzie tablica numerów kolumn, gdzie była wartość, która spełniała nasz warunek i wartości FAŁSZ, tam gdzie wartość nie spełniała tego warunku.
Dalszym krokiem będzie wyciąganie kolejnych wartości, czyli będziemy potrzebowali zatrudnić funkcję MIN.K, która wyciągnie nam numery kolumn od najmniejszego, dzięki temu, że w argument k wpiszemy funkcję LICZBA.KOLUMN z dynamicznym zakresem ($K$8:K8), który będzie się powiększał, gdy formułę będziemy przeciągać w bok, dzięki czemu funkcja MIN.K będzie nam zwracała kolejne numery kolumn, gdzie wartość spełniła warunek, a jeśli przeciągniemy formułę za daleko to zobaczymy błąd #LICZBA!, ponieważ nie mamy aż tylu wartości w komórkach.
Ponieważ nam zależy na wartościach z tych kolumn, nie numerach kolumn, to musimy jeszcze raz napisać formułę wyciągającą wiersz po dacie, a wynik funkcji MIN.K wstawić w miejsce wcześniejszego zera (numeru kolumny)
Ponieważ formuły tablicowe oprócz tego, że musimy je zatwierdzić kombinacją klawiszy Ctrl + Shift + Enter, mocno obciążają procesor, to dopiszemy jeszcze warunek w funkcji JEŻELI, który będzie sprawdzał, czy przekroczyliśmy już liczbę, które spełniają nasze warunki. Jeśli tak to będziemy chcieli wstawić pusty ciąg znaków (dwa podwójne cudzysłowy).
Uff. Udało się to cała nasza formuła. Do pełni szczęścia 😀 potrzebujemy jeszcze, wyciągać nagłówki kolumn, w których zostały znalezione wartości, które nas interesują – będzie to ciut prostsza formuła, bo od początku znamy zakres komórek odpowiadający nagłówkowi.
Od Excela 2010 możesz zastosować funkcję AGREGUJ, żebyś nie musiał formuły zatwierdzać jako formuły tablicowej (nie musisz korzystać z zatwierdzania kombinacją klawiszy Ctrl + Shift + Enter).