Zmienne, instrukcje warunkowe

Podobne dokumenty
Właściwości i metody obiektu Comment Właściwości

Konfiguracja programu Outlook 2007 do pracy z nowym serwerem poczty (Exchange)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Wtedy wystarczy wybrać właściwego Taga z listy.

LibreOffice Calc VBA

Specyfikacja techniczna banerów Flash

PERSON Kraków

VinCent Office. Moduł Drukarki Fiskalnej

Podstawy pracy w arkuszu kalkulacyjnym MS Excel

1. Podstawy budowania wyra e regularnych (Regex)

SZABLONY KOMUNIKATÓW SPIS TREŚCI

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

Instrukcja logowania do aplikacji ING Agent

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Skitch for Android Instrukcja obsługi 2012 Evernote Corporation Wszelkie prawa zastrzeżone Opublikowano: Jun 19, 2012

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Algorytmika i Programowanie VBA 1 - podstawy

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 3. Programowanie komputerowe

Rozliczenia z NFZ. Ogólne założenia. Spis treści

API transakcyjne BitMarket.pl

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

np. tu - na pierwszej formatce kreatora zaznaczamy opcję nr 3

Visual Basic for Application (VBA)

Zarządzanie Zasobami by CTI. Instrukcja

InsERT GT Własne COM 1.0

Visual Basic for Applications. Wstęp

OptiMore Importer Rejestru VAT. Instrukcja obsługi programu

Kilka zasad o których warto trzeba pamiętać

Program Google AdSense w Smaker.pl

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

PowerShell. Sławomir Wawrzyniak

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

Automatyzacja pracy w AutoCAD

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Odliczenie w PFR PIT-37 ulgi na dzieci Tak Nie

Platforma zamówień personelu JOBMAN.pl

WYKAZ ZMIAN W INSTRUKCJI UśYTKOWNIKA KSI

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Skrócony podręcznik obsługi dla programu Wizualna poczta głosowa w wersji 8.5 lub nowszej

WZÓR SKARGI EUROPEJSKI TRYBUNAŁ PRAW CZŁOWIEKA. Rada Europy. Strasburg, Francja SKARGA. na podstawie Artykułu 34 Europejskiej Konwencji Praw Człowieka

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

FlexDMS Aktualizacja 126

Visual Basic for Application (VBA)

Kiedy i czy konieczne?

raceboard-s Szybki start

Instrukcja. 1 Zamawiając kuriera. W Paczkomacie lub POK. 3 Nadając list polecony. nadawania przesyłek z Allegro: (Punkt Obsługi Klienta)

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Rejestr Windows - cz. II

Kancelaris - Zmiany w wersji 2.50

INSTRUKCJA OBSŁUGI WD2250A. WATOMIERZ 0.3W-2250W firmy MCP

INSTRUKCJA Panel administracyjny

Warszawa, r.

Tablice, procesy, sygnały i nie tylko. Kurs systemu Unix 1

Nadzwyczajne Walne Zgromadzenie Art New media S.A. uchwala, co następuje:

PROGRAMOWANIE OBIEKTOWE: VISUAL BASIC VISUAL BASIC FOR APPLICATION (VBA) NA PRZYKŁADZIE EXCELA

3S TeleCloud - Aplikacje Instrukcja użytkowania usługi 3S KONTAKTY

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

0.1 Hierarchia klas Diagram Krótkie wyjaśnienie

Instrukcja poruszania się po stronie krok po kroku. tak zwane ABC Plusika

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Poniżej instrukcja użytkowania platformy

ARAKS FAKTURY Instalujemy program i wystawiamy fakturę krok po kroku, oraz co wyróżnia nasz program od innych. - 1

ZAŁĄCZNIK NR 1. Zakres wiedzy i umiejętności oraz wykaz proponowanej bibliografii

Centralizacji Systemu. Procedury zasilania danymi systemu LAS oprogramowania do aktualizacji LMN. etap C13 pkt 5

MS EXCEL for Windows Ćwiczenie nr 1 czas 3x45 min

Konfiguracja przeglądarek internetowych oraz Panelu Java dla klientów instutucjonalnych problemy z apletem do logowania/autoryzacji

Uniwersytet Rzeszowski

4.1. Analiza AWN jest dokonywana na poziomie VBA

INSTRUKCJA OBSŁUGI TERMOMETR CYFROWY TES-1312A

INFORMATOR TECHNICZNY WONDERWARE

PROCEDURA REKRUTACJI DZIECI DO KLASY PIERWSZEJ DO SZKOŁY PODSTAWOWEJ W OSTASZEWIE NA ROK SZKOLNY 2015/2016

ZAPRASZA DO SKŁADNIA OFERT

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

WITAMY! JAK UŻYWAĆ OVACUE. Witamy w stale rosnącej grupie kobiet, które z powodzeniem używają monitora płodności OvaCue!

Wyższa Szkoła Zarządzania i Bankowości w Krakowie

Wprowadzenie do programowania w VBA

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Stypendia USOS Stan na semestr zimowy 2013/14

Praca na wielu bazach danych część 2. (Wersja 8.1)

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Zintegrowany System Zarządzania Przedsiębiorstwem FIRMA SYSTEM FIRMA WERSJA 22.10

7. OPRACOWYWANIE DANYCH I PROWADZENIE OBLICZEŃ powtórka

PODSTAWY DZIAŁANIA UKŁADÓW CYFROWYCH

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

Transkrypt:

Zmienne, instrukcje warunkowe Rafał Zduńczyk Programowanie arkuszy kalkulacyjnych 2017

Co jest z tym kodem nie tak? Sub Input1() a = InputBox("Pierwsza") b = InputBox("Druga") MsgBox a + b End Sub Wychodzi, że 1 + 2 = 12, zamiast 3.

Co jest z tym kodem nie tak? Sub Input1() a = InputBox("Pierwsza") b = InputBox("Druga") MsgBox a + b End Sub Wychodzi, że 1 + 2 = 12, zamiast 3. A z drugiej strony Sub Input2() a = Sheets("Arkusz2").Range("A1") b = Sheets("Arkusz2").Range("B1") Sheets("Arkusz2").Range("C1") = a + b End Sub działa dobrze! Czy coś jest nie tak z InputBox i Msgbox?

Co jest z tym kodem nie tak? Sub Input1() a = InputBox("Pierwsza") b = InputBox("Druga") MsgBox a + b End Sub Wychodzi, że 1 + 2 = 12, zamiast 3. A z drugiej strony Sub Input2() a = Sheets("Arkusz2").Range("A1") b = Sheets("Arkusz2").Range("B1") Sheets("Arkusz2").Range("C1") = a + b End Sub działa dobrze! Czy coś jest nie tak z InputBox i Msgbox? InputBox dane tekstowe + łączenie tekstów, konkatenacja

Co jest z tym kodem nie tak? Sub Input1() a = InputBox("Pierwsza") b = InputBox("Druga") MsgBox a + b End Sub Wychodzi, że 1 + 2 = 12, zamiast 3. A z drugiej strony Sub Input2() a = Sheets("Arkusz2").Range("A1") b = Sheets("Arkusz2").Range("B1") Sheets("Arkusz2").Range("C1") = a + b End Sub InputBox dane tekstowe + łączenie tekstów, konkatenacja Trzy powody, by deklarować typy zmiennych: 1. To co powyżej 2. Domyślny typ zmiennych o niezadeklarowanym typie: Variant dużo miejsca, czasochłonne 3. Porządek

Deklaracje zmiennych Zmienne można deklarować pojedynczo, albo w grupach Dim a Dim b, c Żeby przypisać zmienną do typu stosuje się składnię Dim a As i po spacji nazwa typu. Typy do wyboru są następujące Typ Rozmiar (bajty) Wartości Boolean 2 True (1)/False (0) Byte 1 0 255 Date 8 od 1.01.100 do 31.12.9999 Currency 8 od ok 9 10 14 do 9 10 14 (+4 miejsca po kropce) Integer 2 od 32 768 do 32 767 Long 4 od ok. 2 10 10 do 2 10 10 Single 4 wymierne ok. ±3 10 38, dokładność do ok. 10 45 Double 8 wymierne ok. ±3 10 308, dokładność do ok. 10 324 String * n n ciągi znaków o długości n (do 65 400 znaków) String 10 + n j.w. do 2 milionów znaków Object 4 odwołanie do dowolnego obiektu Variant 16 jakiekolwiek numeryczne Variant 22 + n jakiekolwiek tekstowe

Stałe Const pi As Single = 3.1415927 Konwersja a = CInt(InputBox...)

Stałe Const pi As Single = 3.1415927 Konwersja a = CInt(InputBox...) Złe nazwy Błędna Trochę lepsza Dobra a,b ab int.salary intsalary 8a a8 Me&You MeAndYou Me You Me_You j intcounter1 d datdate1 m lngminimum a1234 strperson

Instrukcje warunkowe 1. Jedna możliwość: If Sheets("Arkusz2").Range("A1") = 1 Then MsgBox "Jeden"

Instrukcje warunkowe 1. Jedna możliwość: If Sheets("Arkusz2").Range("A1") = 1 Then MsgBox "Jeden" a = Sheets("Arkusz2").Range("A1") If a = True Then MsgBox "Prawda": Sheets("Arkusz2").Range("A2") = 7

Instrukcje warunkowe 1. Jedna możliwość: If Sheets("Arkusz2").Range("A1") = 1 Then MsgBox "Jeden" a = Sheets("Arkusz2").Range("A1") If a = True Then MsgBox "Prawda": Sheets("Arkusz2").Range("A2") = 7 If a = True Then MsgBox "Prawda" Sheets("Arkusz2").Range("A2") = 7 End If

Instrukcje warunkowe 1. Jedna możliwość: If Sheets("Arkusz2").Range("A1") = 1 Then MsgBox "Jeden" a = Sheets("Arkusz2").Range("A1") If a = True Then MsgBox "Prawda": Sheets("Arkusz2").Range("A2") = 7 If a = True Then MsgBox "Prawda" Sheets("Arkusz2").Range("A2") = 7 End If 2. Dwie opcje: If Sheets("Arkusz2").Range("A1") = True Then MsgBox "Prawda" Else MsgBox "Fałsz" End If

Instrukcje warunkowe 1. Jedna możliwość: If Sheets("Arkusz2").Range("A1") = 1 Then MsgBox "Jeden" a = Sheets("Arkusz2").Range("A1") If a = True Then MsgBox "Prawda": Sheets("Arkusz2").Range("A2") = 7 If a = True Then MsgBox "Prawda" Sheets("Arkusz2").Range("A2") = 7 End If 2. Dwie opcje: If Sheets("Arkusz2").Range("A1") = True Then MsgBox "Prawda" Else MsgBox "Fałsz" End If If a = True Or a = 1 Then MsgBox "Prawda"

Instrukcje warunkowe 3. Więcej niż dwie opcje: If a = True Then MsgBox "Prawda" ElseIf a = False Then MsgBox "Fałsz" Else MsgBox "Nie wiem" End If

Instrukcje warunkowe 3. Więcej niż dwie opcje: If a = True Then MsgBox "Prawda" ElseIf a = False Then MsgBox "Fałsz" Else MsgBox "Nie wiem" End If If a = True Then MsgBox "Prawda" ElseIf a = False MsgBox "Fałsz" End If

Instrukcje warunkowe 3. Więcej niż dwie opcje: If a = True Then MsgBox "Prawda" ElseIf a = False Then MsgBox "Fałsz" Else MsgBox "Nie wiem" End If If a = True Then MsgBox "Prawda" ElseIf a = False MsgBox "Fałsz" End If Select Case a Case Is < 0 MsgBox "Liczba ujemna" Case 0 MsgBox a Case 1.5 To 3 MsgBox "Między 1,5 oraz 3" Case 4, 6, 8, 10 MsgBox "Parzyste" Case "Nic" MsgBox "Tekst" Case Else MsgBox "Coś innego" End Select

Instrukcje warunkowe 3. Więcej niż dwie opcje: If a = True Then MsgBox "Prawda" ElseIf a = False Then MsgBox "Fałsz" Else MsgBox "Nie wiem" End If If a = True Then MsgBox "Prawda" ElseIf a = False MsgBox "Fałsz" End If Select Case a Case Is < 0 MsgBox "Liczba ujemna" Case 0 MsgBox a Case 1.5 To 3 MsgBox "Między 1,5 oraz 3" Case 4, 6, 8, 10 MsgBox "Parzyste" Case "Nic" MsgBox "Tekst" Case Else MsgBox "Coś innego" End Select Pamiętaj! W długich instrukcjach można łamać linie za pomocą podkreślnika po spacji: If (s >0 And s < 1) Or (s > 2 And s < 3) Or (s > 4 And s < 5) Or _ (s >7 And s < 8) Then

Instrukcje warunkowe 3. Więcej niż dwie opcje: If a = True Then MsgBox "Prawda" ElseIf a = False Then MsgBox "Fałsz" Else MsgBox "Nie wiem" End If If a = True Then MsgBox "Prawda" ElseIf a = False MsgBox "Fałsz" End If Select Case a Case Is < 0 MsgBox "Liczba ujemna" Case 0 MsgBox a Case 1.5 To 3 MsgBox "Między 1,5 oraz 3" Case 4, 6, 8, 10 MsgBox "Parzyste" Case "Nic" MsgBox "Tekst" Case Else MsgBox "Coś innego" End Select Pamiętaj! W długich instrukcjach można łamać linie za pomocą podkreślnika po spacji: If (s >0 And s < 1) Or (s > 2 And s < 3) Or (s > 4 And s < 5) Or _ (s >7 And s < 8) Then

InputBox IputBox to funkcja, która ma wymagany argument: podpowiedź oraz kilka argumentów opcjonalnych: 2. tytuł pojawi się na pasku u góry 3. wartość domyślna pojawi się w okienku w miejscu wprowadzania danych 4. położenie w poziomie domyślnie: wyśrodkowane 5. położenie w pionie domyślnie: wyśrodkowane

InputBox IputBox to funkcja, która ma wymagany argument: podpowiedź oraz kilka argumentów opcjonalnych: 2. tytuł pojawi się na pasku u góry 3. wartość domyślna pojawi się w okienku w miejscu wprowadzania danych 4. położenie w poziomie domyślnie: wyśrodkowane 5. położenie w pionie domyślnie: wyśrodkowane a = InputBox("Podaj imię", "Wprowadzanie danych", "Hania", 5000, 500)

InputBox IputBox to funkcja, która ma wymagany argument: podpowiedź oraz kilka argumentów opcjonalnych: 2. tytuł pojawi się na pasku u góry 3. wartość domyślna pojawi się w okienku w miejscu wprowadzania danych 4. położenie w poziomie domyślnie: wyśrodkowane 5. położenie w pionie domyślnie: wyśrodkowane a = InputBox("Podaj imię", "Wprowadzanie danych", "Hania", 5000, 500)

InputBox IputBox to funkcja, która ma wymagany argument: podpowiedź oraz kilka argumentów opcjonalnych: 2. tytuł pojawi się na pasku u góry 3. wartość domyślna pojawi się w okienku w miejscu wprowadzania danych 4. położenie w poziomie domyślnie: wyśrodkowane 5. położenie w pionie domyślnie: wyśrodkowane a = InputBox("Podaj imię", "Wprowadzanie danych", "Hania", 5000, 500)

InputBox IputBox to funkcja, która ma wymagany argument: podpowiedź oraz kilka argumentów opcjonalnych: 2. tytuł pojawi się na pasku u góry 3. wartość domyślna pojawi się w okienku w miejscu wprowadzania danych 4. położenie w poziomie domyślnie: wyśrodkowane 5. położenie w pionie domyślnie: wyśrodkowane a = InputBox("Podaj imię", "Wprowadzanie danych", "Hania", 5000, 500) InputBox wartości tekst wpisany przez użytkownika domyślny ciąg znaków w przypadku, kiedy się nic nie wpisze pusty ciąg, kiedy się wciśnie Cancel (lub gdy nie ma domyślnego tekstu i nic się nie wpisze)

InputBox łamanie linii W podpowiedzi można łamać linię za pomocą komend Nazwa Kod Znaczenie vblf Chr(10) Line Feed wypełnienie linii vbcr Chr(13) Carriage Return powrót karetki vbcrlf Chr(13)+Chr(10) vbnewline to samo vbverticaltab Chr(11) Ręczne łamanie linii, jak Shift + Enter

InputBox łamanie linii W podpowiedzi można łamać linię za pomocą komend Nazwa Kod Znaczenie vblf Chr(10) Line Feed wypełnienie linii vbcr Chr(13) Carriage Return powrót karetki vbcrlf Chr(13)+Chr(10) vbnewline to samo vbverticaltab Chr(11) Ręczne łamanie linii, jak Shift + Enter Przykład: a = InputBox("Pierwsza linia" & Chr(10) & "Druga" & Chr(13) & "Trzecia"

InputBox łamanie linii W podpowiedzi można łamać linię za pomocą komend Nazwa Kod Znaczenie vblf Chr(10) Line Feed wypełnienie linii vbcr Chr(13) Carriage Return powrót karetki vbcrlf Chr(13)+Chr(10) vbnewline to samo vbverticaltab Chr(11) Ręczne łamanie linii, jak Shift + Enter Przykład: a = InputBox("Pierwsza linia" & Chr(10) & "Druga" & Chr(13) & "Trzecia" W nagłówku nie daje się łamać linii

InputBox łamanie linii W podpowiedzi można łamać linię za pomocą komend Nazwa Kod Znaczenie vblf Chr(10) Line Feed wypełnienie linii vbcr Chr(13) Carriage Return powrót karetki vbcrlf Chr(13)+Chr(10) vbnewline to samo vbverticaltab Chr(11) Ręczne łamanie linii, jak Shift + Enter A oto inne przydatne wartości Chr: Chr(32) spacja Chr(34) górny cudzysłów (np. do wyświetlenia w MsgBox) Chr(38) znak &, ampersand Chr(42) gwiazdka Chr(43) plus Chr(95) podkreślnik

InputBox częste błędy początkujących Sub input_zle() If InputBox("Podaj imię") = "Hania" Then MsgBox "Dzień dobry, Haniu" ElseIf InputBox("Podaj imię") = "Janusz" Then MsgBox "Dzień dobry, Januszu" End If End Sub

InputBox częste błędy początkujących Sub input_zle() If InputBox("Podaj imię") = "Hania" Then MsgBox "Dzień dobry, Haniu" ElseIf InputBox("Podaj imię") = "Janusz" Then MsgBox "Dzień dobry, Januszu" End If End Sub Zagadka: Czemu trzeba Janusz wpisywać dwa razy?

MsgBox Ta funkcja, choć na pozór tylko wyświetla komunikaty, daje całkiem spore możliwości. Można kontrolować następujące opcje Tekst komunikatu Tytuł Przyciski Domyślnie wybrany przycisk Ikony Zachowanie wobec innych aplikacji (modalność) Wyrównywanie tekstu Składnia MsgBox(Komunikat,opcje,Tytuł) Lub, jeśli sam komunikat, bez dalszej interaktywności: MsgBox komunikat

MsgBox opcje Można http://dzono4.w.interiowo.pl/kurs/okkom.htm

MsgBox opcje Można http://dzono4.w.interiowo.pl/kurs/okkom.htm samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256),

MsgBox opcje Można http://dzono4.w.interiowo.pl/kurs/okkom.htm samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256), zostawić jako sumę: b = MsgBox("",2 + 32 + 256)

MsgBox opcje Można samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256), zostawić jako sumę: b = MsgBox("",2 + 32 + 256) użyć nazw: b = MsgBox("", vbabortretryignore + vbdefaultbutton2 + vbquestion)

MsgBox opcje Można samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256), zostawić jako sumę: b = MsgBox("",2 + 32 + 256) użyć nazw: b = MsgBox("", vbabortretryignore + vbdefaultbutton2 + vbquestion) Modalność (4096): blokuje działanie wszystkich aplikacji do czasu wyboru opcji z tego MsgBoksa. W przeciwnym wypadku tylko Excel zablokowany.

MsgBox opcje Można samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256), zostawić jako sumę: b = MsgBox("",2 + 32 + 256) użyć nazw: b = MsgBox("", vbabortretryignore + vbdefaultbutton2 + vbquestion) Modalność (4096): blokuje działanie wszystkich aplikacji do czasu wyboru opcji z tego MsgBoksa. W przeciwnym wypadku tylko Excel zablokowany. Wartości MsgBox 1. OK 2. Cancel 4. Ponów 5. Ignoruj 6. Tak 3. Przerwij 7. Nie

MsgBox opcje Można samemu obliczyć odpowiednią sumę: b = MsgBox("",290) przyciski: przerwij, ponów, ignoruj (2), pytanie (32), domyślny drugi przycisk (256), zostawić jako sumę: b = MsgBox("",2 + 32 + 256) użyć nazw: b = MsgBox("", vbabortretryignore + vbdefaultbutton2 + vbquestion) Modalność (4096): blokuje działanie wszystkich aplikacji do czasu wyboru opcji z tego MsgBoksa. W przeciwnym wypadku tylko Excel zablokowany. Wartości MsgBox 1. OK 2. Cancel lub wciśnięcie Escape, o ile Cancel wyświetlony 3. Przerwij 4. Ponów 5. Ignoruj 6. Tak 7. Nie