Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
środa, 11 listopada 2015

Promocja Helion

Z okazji Święta Niepodległości książki polskich autorów w księgarni informatycznej Helion promocyjnych cenach.

Lista pozycji objętych promocją:

Promocja Helion

Czas trwania promocji - do piątku włącznie.

wtorek, 10 listopada 2015

W ramach wywiązywania się z obietnic (zostało mi jeszcze kilka do załatwienia) dziś odpowiedź na pytanie:jak zaimportować do Excela listę świąt z Outlooka?
Jeden z najprostszych sposobów jest taki:

W Outlooku przechodzimy do Plik --> Opcje --> Zaawansowane i wyszukujemy Export.

Eksport kalendarza kliknij, aby powiększyć obrazek

Po naciśnięciu przycisku Export, w nowym formularzu wybieramy Export do pliku:

Eksport kalendarzakliknij, aby powiększyć obrazek

Przechodzimy dalej i w kolejnym formularzu wybieramy typ pliku, do jakiego ma zostać wykonany eksport. Ja w tym przykładzie wybrałam plik csv.

 Eksport kalendarzakliknij, aby powiększyć obrazek

Następnie z listy folderów widocznych w Outlooku wybieramy Kalendarz

 Eksport kalendarzakliknij, aby powiększyć obrazek

W kolejnym kroku wybieramy miejsce zapisu eksportowanego pliku:

 Eksport kalendarzakliknij, aby powiększyć obrazek

W ostatnim formularzu wybieramy zakres dat do eksportu

 Eksport kalendarza

I już - mamy plik z wydarzeniami kalendarza. Kolejny krok czyli import listy świąt do skoroszytu Excela opisany jest tu:

Import listy świąt do Excela

 

 

 

Kurs Outlook - efektywna praca>>

piątek, 06 listopada 2015

Wyprzedaż Office

Wielka wyprzedaż literatury informatycznej w księgarni Helion. Tym razem wszystko co związane z pakietem Office, a więc Excel, Word, Access i Power Point. Poszczególne pozycje - zarówno w wersji drukowanej jak i w formie e-booków tańsze o 40%.
Lista pozycji objętych promocją:

Pakiet Office - wyprzedaż

Promocja trwa do niedzieli włącznie.



czwartek, 22 października 2015

Ostatnio zadano mi pytanie, na które z marszu nie potrafiłam odpowiedzieć. Chodziło o stworzenie wykresu słupkowego opartego na seriach danych znacznie różniących się rzędem wielkości. Jest na to kilka sposobów, ale pytanie dotyczyło  wykresu z przerwaną osią Y.
Trochę poszperałam i znalazłam rozwiązanie, nieco pracochłonne, ale efekt końcowy jest. 

Załóżmy, że mamy 2 serie danych, z których jedna to wartości z przedziału od 0 do 10, a druga - od 1000 do 10000. Wstawiając obie serie na jeden wykres - ta pierwsza seria danych będzie w ogóle niewidoczna. Chcąc skorzystać z wariantu przerwania osi Y, tak aby widoczne były dwie osie, musimy po kolei zrobić tak.

  • Wstawiamy normalny wykres słupkowy oparty na obydwu seriach danych

    Wykres z łamaną osią Y
  • usuwamy pomocnicze linie siatki

Wykres z łamaną osią Y

  • zaznaczamy oś Y na wykresie, z menu podręcznego wybieramy Formatuj oś, a następnie ustawiamy maksimum osi Y na wartości, w której chcemy przerwać oś:

Wykres z łamaną osią Y

  • kopiujemy tak sformatowany wykres i wstawiamy je w inne miejsce arkusza (Ctrl+D)

Wykres z łamaną osią Y

  • w wykresie skopiowanym zmieniamy ustawienia osi Y - minimum w wartości, w której chcemy ustawić oś po przerwaniu

 Wykres z łamaną osią Y

  • w wykresie skopiowanym usuwamy legendę, obramowanie wykresu, tytuł oraz ustawiamy oś X na brak linii.  Efekt końcowy powinien wyglądać tak:

 Wykres z łamaną osią Y

  • zmieniamy wysokość wykresu początkowego - zaznaczając obszar wykresu i zmniejszając go w pionie

Wykres z łamaną osią Y

  • zmniejszamy także wykres skopiowany (tym razem od dołu),a następnie, trzymając goza uchwyt przenosimy go na wykres pierwotny, dopasowując go wizualnie do wykresu pierwotnego

 Wykres z łamaną osią Y

  • klikając na dole wykresu (tak, aby zaznaczyć wykres początkowy) - dodajemy legendę, tytuł itp.) .Można też dołożyć autokształt lub linię przerywaną w miejscu przerwania osi. Warto też zaznaczyć i zgrupować obydwa wykresy oraz autokształty - nie rozsypie się przy przenoszeniu.

Wykres z łamaną osią Y

Skoroszyt Excela z opisanym przykładem jest do pobrania tu:

Wykres z łamaną osią Y


wtorek, 06 października 2015

Z poziomu kodu VBA (zarówno w Excelu jak i Accessie) można też wysyłać maile. Jak to zrobić z wykorzystaniem programu Microsoft Outlook?
Przykładowe uproszczone rozwiązanie wygląda tak:

Public Sub WyslijMail()
Dim Poczta As Object
Dim MojMail As Object

Set Poczta = CreateObject("outlook.application")
Set MojMail = Poczta.createitem(0)
    With MojMail
        .To = "AdresDo@domena.pl"
        .CC = "AdresDW@DOMENA.PL"
        .Subject = "Temat maila"
        .ReadReceiptRequested = False
        .OriginatorDeliveryReportRequested = False
        .body = "Treść maila"
        .Attachments.Add "c:\Folder\MojZalacznik.xlsx"
        .Display
        '.send
    End With
End Sub


Jak widać - tworzymy obiekt Outlook.Application oraz w jego ramach - nową pozycję czyli mail (tu Obiekt MojMail).
Potem wystarczy tylko ustawić poszczególne właściwości maila. W przykładzie są one wpisane na sztywno, ale oczywiście można odwołać się tu np. do komórek arkusza z zapisanymi wartościami.
Makro może być zaimplementowane także w kodzie VBA w Accessie.

Najważniejsze właściwości to:

To - adresat właściwości. Jeżeli adresatów jest kilku - ich adresy mailowe powinny być oddzielone średnikami;
CC - adresy do wiadomości
UCC - ukryte adresy do wiadomości
Subject - temat maila
Body - temat maila
ReadReceiptRequested  - żądanie potwierdzenia odczytu maila (ustawione na False lub True)
OriginatorDeliveryReportRequested  - żądanie potwierdzenia dostarczenia maila (ustawione na False lub True)
Attachments.Add - dodanie załącznika do maila





Jeżeli mail ma być wysłany automatycznie, bez wyświetlania go na ekranie - stosujemy metodę Send. Chcąc obejrzeć tak stworzoną wiadomość mailową (a wysłać ręcznie) musimy zastosować metodę Display.

 

------------------------------------------------------------------------------


 

wtorek, 22 września 2015

Funkcja VBA Trim jest funkcją tekstową usuwającą z argumentu wejściowego (typu String) zbędne spacje.  Jako spacje "prawidłowe" uznawane są tylko pojedyncze spacje pomiędzy poszczególnymi wyrazami ciągu tekstowego.

Funkcja Trim w kodzie VBA występuje w kilku różnych wariantach:

Trim - likwiduje spacje na początku i na końcu ciągu

RTrim - likwiduje spacje na końcu ciągu

LTrim - likwiduje spacje na początku ciągu

WorksheetFunction.Trim - likwiduje spacje na początku, końcu oraz ciąg kilku spacji wewnątrz. Jest odpowiednikiem funkcji Excela Usuń.Zbędne.Odstępy.

 



 


 

Kurs Excel programowanie w VBA>

sobota, 19 września 2015

Funkcja Usuń.Zbędne.Odstępy należy do funkcji tekstowych Excela. Działanie jej polega na usunięciu z argumentu wejściowego Tekst wszystkich niepotrzebnych spacji: na początku lub na końcu, kilku spacji obok siebie itp. Pozostawia tylko pojedyncze spacje oddzielające słowa w tekście.
Standardowo argumentem funkcji powinna być wartość typu tekstowego. inny typ danych wejściowych powoduje otrzymanie w wyniku jej działania wartości tekstowej odpowiadającej argumentowi. Wartość funkcji jest również typu tekstowego.

Odpowiednikiem funkcji w kodzie VBA jest funkcja Trim.

 

 


 


 

Kurs Excel 2010 esencja>

piątek, 28 sierpnia 2015

 Blog Forum Gdańsk

 

Wprawdzie rzadko zdarza mi się uczestniczyć w konkursach, ale tym razem zdecydowałam się zgłosić ten blog do konkursu Blog Forum Gdańsk 2015. Jeżeli więc ktoś zagląda tu i może korzysta z opisanych tu rozwiązań - proszę o zagłosowanie na mój blog.

Głosować można do 7 września 2015r. godz.12.00. Nie trzeba wysyłać SMS-ów, wystarczy kliknąć.

Link jest tu:

http://www.trojmiasto.pl/blogforumgdansk/?id_blog=357


niedziela, 23 sierpnia 2015

W trakcie pracy w Excelu zdarza się, że na ekranie pojawiają się komunikaty ostrzegawcze. Najczęściej dotyczą one np.nieodwracalności usunięcia danych, łączy itp. Dobrze, że są, gdyż stanowią ochronę przed przypadkowym skasowaniem ważnych elementów aplikacji. Gorzej jednak, gdy komunikaty te pojawiają się w trakcie wykonywania kodu VBA - takie potwierdzanie nie tylko wydłuża czas wykonywania makra, ale dodatkowo jeszcze sprawia, że obsługa staje się uciążliwa.
Takie systemowe komunikaty można wyłączyć na czas wykonywania kodu poprzez wykorzystanie właściwości obiektu Application - DisplayAlerts:

Obiekt Application

Ustawienie właściwości Application.DisplayAlerts na False powoduje wyłączenie komunikatów systemowych. Po wykonaniu ciągu instrukcji, włączamy je ponownie korzystając z tej samej właściwości ustawionej na True.

Sub MojaProcedura()

Application.DisplayAlerts = False

(...)

Ciąg instrukcji

(...)

Application.Display =True

End Sub

 


 

 

Excel 2013 i programowanie VBA

 


poniedziałek, 17 sierpnia 2015

Często zdarza się, że w trakcie wykonywania makra czy procedury zapisanej w kodzie VBA, "miga" ekran. Wygląda to mało ciekawie - ciąg instrukcji powinien się wykonywać raczej w tle, bez odświeżania (a tym samym - migania) ekranu po każdym wykonanym kroku.
Można to osiągnąć poprzez wykorzystanie właściwości obiektu Application - ScreenUpdating:

 Obiekt Application

Ustawienie właściwości na False powoduje wyłączenie odświeżania ekranu - zostaje on "zamrożony". Po wykonaniu ciągu instrukcji odświeżamy ekran korzystając z tej samej właściwości ustawionej na True.

Sub MojaProcedura()

Application.ScreenUpdating = False

(...)

Ciąg instrukcji

(...)

Application.ScreenUpdating =True

End Sub

 


 


 

Kurs Excel programowanie w VBA

1 , 2 , 3 , 4 , 5 ... 37
| < Sierpień 2018 > |
Pn Wt Śr Cz Pt So N
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:

Wydawnictwo Strefa Kursów



ministat liczniki.org



Napisz do mnie!