Podstawy programowania w VBA

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Podstawy. Zmienne. Stałe. Operatory. Relacje. Wyrażenia. Warunki.
Programowanie w języku Visual Basic
Metody Analizy Programów Wykład 02
Wprowadzenie do języka skryptowego PHP – cz. 2
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
Tworzenie wykresów. Aplikacja końcowa.
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
Jan Aleksander Wierzbicki
27/09/ Języki programowania 1 Piotr Górczyński Zmienne.
27/09/ Języki programowania 1 Piotr Górczyński Instrukcje warunkowego wyboru.
27/09/ Języki programowania 1 Piotr Górczyński Procedury i funkcje.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Obliczanie miar ortogonalnych.
Obliczanie miar biegunowych.
Kartowanie pikiet pomierzonych metodą biegunową.
pomierzonych metodą ortogonalną
Arkusz kalkulacyjny powtórzenie A.Ś..
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski
Komunikacja z arkuszem. Iteracje. Funkcje.
Programowanie obiektowe. Obiekty. Metody. Właściwości.
Wykład 2 struktura programu elementy języka typy zmienne
EXCEL podstawy (C) W.K
Programowanie w Visual Basic
Programowanie w Visual Basic
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Słowa kluczowe oraz nazwy obiektów i klas rozpoczynaj od dużej litery np. Loop, Dim, FileStream Rozpoczynaj nazwę zmiennej od małej litery stosując styl.
AUTOMATYZACJA PRACY W EXCELU
A ctive S erver P ages Technologia dostępu do danych.
Microsoft Office Excel
Arkusz kalkulacyjny powtórzenie Małgorzata Medycka.

INTERNETOWE USŁUGI INFORMACYJNE
Technologie informacyjne EXCEL I
Technologie informacyjne EXCEL I
C# Platforma .NET CZ.3 Kuba Ostrowski.
Podstawy informatyki 2013/2014
Wstęp do makr 2 XII 2013.
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Zajęcia I Organizacja zajęć Rejestracja i uruchamianie makr
Excel dla zaawansowanych z elementami VBA
Podstawy Visual Basic for Applications (cz. III)
Ogólna struktura programu w TP
Projektowanie stron WWW
Microsoft Visual Basic.NET Michał Kuciapski Uniwersytet Gdański część 1.
VBA w MS Word Źródła: Steven Roman, Word.Makrodefinicje, Helion 2000
Wprowadzenie do VBA Excel 2013
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Podstawy programowania (4)
VISUAL BASIC FOR APLICATION (VBA)
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Pętle – instrukcje powtórzeń
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Visual Basic Patryk Rosiak. Visual Basic for Applications Jest uproszczoną wersją języka Visual Basic służącym do obsługi dokumentów w pakiecie Microsoft.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Adresy względne i bezwzględne Excel. 5 5 A A B B C C D D
Visual Basic for Applications Joanna Porter-Sobieraj
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
VBA w Excel.
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Dane, zmienne, instrukcje
Excel Informacje różne.
Zapis prezentacji:

Podstawy programowania w VBA Microsoft Office Excel 2003

Edytor VBA 2/20 Skrót Alt+F11

Opcje edytora VBA 3/20

Najważniejsze opcje edytora VBA 4/20 Auto Syntax Check Auto List Members  Auto Quick Info Auto Syntax Check ! Zaznaczenie opcji działa od nowo otwartego modułu Auto Data Tips

Okienko Immediate Skrót Ctrl + G Sub procSub(arg) a = arg + arg 5/20 Skrót Ctrl + G Sub procSub(arg) a = arg + arg Debug.Print a End Sub Function procFunc(arg) procFunc = arg + arg End Function

Hierarchia obiektów 6/20 Excel Zeszyt1.xls Zeszyt2.xls … Arkusz1 Komórki A1, A2, …, IV65536 Workbook WorkSheet Application Range WorkSheet Range WorkSheets Workbook Workbooks WorkSheets Application.Workbooks(„Zeszyt1.xls”).WorkSheets(„Arkusz1”).Range(„A1”)

Objekty aktywne Wartosc = Application.Workbooks(„Zeszyt.xls”). _ 7/20 Wartosc = Application.Workbooks(„Zeszyt.xls”). _ Worksheets(„Arkusz1”).Range(„A1”).Value Jeżeli Zeszyt.xls jest aktualnie otwartym dokumentem Wartosc = Worksheets(„Arkusz1”).Range(„A1”).Value Wartosc = ActiveWorkbook. _ oraz Arkusz1 jest aktualnie otwartym arkuszem Wartosc = Range(„A1”).Value Wartosc = ActiveSheet.Range(„A1”).Value Workbook Worksheet

Określenie argumentów dla metod i właściwości 8/20 Object.Protect([Password],[Structure],[Windows]) ActiveWorkbook.Protect „abc”, True, False ActiveWorkbook.Protect , True, False ActiveWorkbook.Protect Structure:=True Gdy metody i właściwości zwracają wartość adres = ActiveCell.Adress(False, True); adres = ActiveCell.Adress(ColumnAbsolute:=True); Object.Adress([RowAbsolute],[ColumnAbsolute]…) As String

Obiekt Range Istnieją 3 możliwości uzyskania objectu Range. 9/20 Istnieją 3 możliwości uzyskania objectu Range. Właściwość Range obiektu Worksheet lub obiektu klasy Range Właściwość Cells obiektu Worksheet lub obiektu klasy Range Właściwość Offset obiektu Range Odwołanie do komórki może być bezwzględne względne

Obiekt Range I. Właściwość Range 10/20 Właściwość Range zwraca obiekt Range obiekt.Range(komórka1) objekt.Range(komórka1,komórka2) Właściwość Range obiektu Worksheet (przykłady) ActiveSheet.Range(”A1”).Value=1 ActiveSheet.Range(”A3:B5”).Value=2 ActiveSheet.Range(”A3”,”B5”).Value=3 ActiveSheet.Range(”C1,E3,F2”).Value=4 Właściwość Range obiektu Range (przykład) ActiveCell.Range(”B2”) = 5 ‘odwołanie względne

Obiekt Range II. Właściwość Cells 11/20 Właściwość Cells zwraca obiekt Range obiekt.Cells(idRow,idColumn) obiekt.Cells(idRow) obiekt.Cells Właściwość Cells obiektu Worksheet (przykłady) ActiveSheet.Cells(1,1).Value=1 ActiveSheet.Cells(520).Value=2 ActiveSheet.Cells.ClearContents Właściwość Cells obiektu Range (przykłady) ActiveCell.Cells(3,2).Value=3 ‘odwołanie względne Range(”B1:C10”).Cells(5).Value=4 ‘odwołanie względne

Obiekt Range III. Właściwość Offset 12/20 Właściwość Offset zwraca objekt Range obiekt.Offset(idRow, idColumn) Właściwość Offset obiektu Range ActiveCell.Offset(0,0).Value=3 ‘odwołanie względne ActiveCell.Offset(-1,2).Value=3 ‘odwołanie względne

Obiekt Range Odwołanie względne i bezwzględne 13/20 ActiveSheet.Range(”A7”).Value = ”abc” WorkSheets(”Ark1”).Cells(1,1).Value = 123 ActiveCell.Range(”A3”).Value = ”range” Range(”D6”).Cells(1,1).Value = ”cells” ActiveCell.Offset(0,0).Value = ”offset” odwołanie bezwzględne WorkSheet odwołanie względne Range A B C 123 1 2 3 offset Odwołanie względem aktywnej komórki range cells Odwołanie względem komórki D6 abc

Procedury Sub i Function 14/20 Function procFunc(arg) procFunc = arg*2 End Function zm=5 zm = procFunc(zm) MsgBox zm Sub procSub(arg) arg = arg*2 End Sub zm=5 Call procSub(zm) MsgBox zm nie zwraca wartości wymaga słowa kluczowego call do wywołania procedury Argumenty przekazywane są przez referencję zwraca wartość (wartość zwracana nazywa się tak samo jak funkcja) argumenty przekazywane są przez wartość dodaje się do funkcji użytkownika (dostępne z poziomu formuły)

Procedury Sub Sub procSub(arg) Sub procSub(byVal arg) arg = arg*2 15/20 Sub procSub(arg) arg = arg*2 End Sub Sub procSubMain() zm = 5 MsgBox zm Call procSub(zm) Sub procSub(byVal arg) arg = arg*2 End Sub Sub procSubMain() zm = 5 MsgBox zm Call procSub(zm)

Definiowanie typów danych 16/20 Dim zm1 As Intiger Dim zm2 As Double Dim zm3 As String*4 Dim zm4 As String zm1 = 10 zm2 = 10,67 zm3 = ”abcd” zm4 = ”abcd” zm5 = 10 zm6 = 10,67 zm7 = ”abcd” ‘liczba całkowita ‘liczba rzeczywista ‘łańcuch znaków (stała długość) ‘łańcuch znaków (zmienna długość) ‘typ Intiger; 2 bajty ‘typ Double; 8 bajtów ‘typ String; 4 bajty ‘typ String; 14 bajtów ‘typ Variant; 16 bajtów ‘typ Variant; 26 bajtów

Instrukcje warunkowe i pętle 17/20 IF warunek Then … Else If Else End IF For Each i in tab … Next i For i=1 To 5 … Next i Select Case opcja Case 1 … Case 2 Case Else End Select Do While warunek … Loop Do … Loop While warunek

Tablice 18/20 ‘Deklarowanie tablicy o 5 elementach typu całkowitego Dim tablicaInt(5) As Integer ‘Deklarowanie tablicy dynamicznej typu tekstowego Dim tablicaStr() As String ‘Nadanie rozmiaru tablicy n=5 ReDim tablicaStr(1 To n) ‘Przypisanie wartości pierwszemu elementowi tablicy tablicaStr(1)= ”abcdef” ‘Wykorzystanie pętli for do wypełnienia tablicy For i=1 To n tablicaStr(i) = ”abcdef” Next i

Właściwość Selection objektu Application 19/20 Areas(1) Selection Areas(2) obiekt Range Areas(3) Areas(4) Areas(5) Lob = Selection.Areas.Count ‘ Lob=5 Lkom = Selection.Areas(1).Count ‘ Lkom=4 w = Selection.Areas(1).Row ‘ w=1 k = Selection.Areas(1).Column ‘ k=1 Lw = Selection.Areas(1).Rows.Count ‘ Lw=2 Lk = Selection.Areas(1).Columns.Count ‘ Lk = 2

Wypełnianie tablicy wartościami z zaznaczonych komórek arkusza 20/20 Sub Wypelnij() Dim TabStr() As String If TypeName(Selection) = "Range" Then k = 1 For Each obszar In Selection.Areas PwOb = obszar.Row PkOb = obszar.Column iW = obszar.Rows.Count iK = obszar.Columns.Count rozmiar = k - 1 + iW * iK ReDim Preserve TabStr(rozmiar) For i = PwOb To PwOb + iW - 1 For j = PkOb To PkOb + iK - 1 TabStr(k) = Cells(i, j).Value k = k + 1 Next j Next i Next obszar End If End Sub a1 b1 a2 b2 a6 b7 b4 c4 d4 d6 d7 d8 obszar PwOb PkOb iW iK rozm i i<=iW j J<=iK k TabStr