Prikaz vba poruke bez potvrde. Input Box u VBA Excelu - InputBox

  • 16.01.2022

Ova napomena opisuje metode za kreiranje prilagođenih dijaloških okvira koji uvelike proširuju standardne funkcije programa Excel. Dijaloški okviri su najvažniji element korisnički interfejs na Windows-u. Koriste se u skoro svakom Windows aplikacija, a većina korisnika ima dobru ideju o tome kako rade. Programeri programa Excel kreiraju prilagođene dijaloške okvire koristeći korisničke obrasce (UserForm). Osim toga, VBA ima alate koji omogućavaju kreiranje standardnih dijaloških okvira.

Rice. 1. Rad procedure GetName

Preuzmite bilješku u formatu ili , primjere u

Prije nego što uđete u detalje kreiranja dijaloških okvira prilagođenih obrazaca, trebali biste naučiti kako koristiti neke od ugrađenih alata za dijaloške okvire programa Excel.

Korištenje prozora za unos podataka

Prozor za unos podataka je jednostavan dijalog koji omogućava korisniku da unese jednu vrijednost. Na primjer, možete koristiti okvir za unos podataka da biste omogućili korisniku da unese tekst, broj ili raspon vrijednosti. Dve funkcije InputBox su obezbeđene za kreiranje polja za unos: jedna je u VBA, a druga je metoda objekta Application.

Funkcija InputBox u VBA

Funkcija ima sljedeću sintaksu:

InputBox(zahtjev [, naslov] [, zadano] [, xpos] [, ypos] [, pomoć, odjeljak])

  • xpos, ypos. Određuje koordinate gornjeg lijevog ugla okvira za unos na ekranu (opcionalno).

Funkcija InputBox traži od korisnika jednu vrijednost. Uvijek vraća string, tako da će rezultat morati biti konvertovan u numeričku vrijednost. Tekst prikazan u prozoru za unos može imati do 1024 karaktera (dužina se može mijenjati ovisno o širini korištenih znakova). Ako definirate temu pomoći, u dijaloškom okviru će biti prikazano dugme. Referenca.

Procedura GetName traži od korisnika puno ime (ime i prezime). Program tada ističe ime i prikazuje pozdrav u okviru za poruke (pogledajte sliku 1; kod funkcije se može naći u datoteci VBAinputbox.xlsm).

Sub GetName() Zatamniti korisničko ime kao string Dim FirstSpace kao integer Uradi do korisničkog imena<>"" UserName = InputBox("Unesite svoje ime i prezime: ", _ "Nazovite se") Loop FirstSpace = InStr(UserName, " ") Ako FirstSpace<>0 Zatim korisničko ime = lijevo (korisničko ime, prvi prostor - 1) Kraj ako MsgBox "Zdravo" & korisničko ime Kraj pod

Sub GetName()

Zatamni korisničko ime kao string

Dim FirstSpace As Integer

Uradi do korisničkog imena<> ""

korisničko ime = inputbox( "Unesite ime i prezime: ", _

"Identificiraj se"

petlja

FirstSpace = InStr(UserName , " " )

Ako FirstSpace<>0 Onda

Korisničko ime = Lijevo (Korisničko ime, Prvi prostor - 1)

Kraj ako

MsgBox "Bok" i korisničko ime

end sub

Imajte na umu da se funkcija InputBox poziva u petlji Do Until. Ovo vam omogućava da budete sigurni da su podaci uneseni u prozor. Ako korisnik klikne na dugme Otkaži ili ne unese tekst, varijabla UserName će sadržavati prazan niz, a prozor za unos podataka će se ponovo pojaviti. Zatim će procedura pokušati dobiti korisničko ime tražeći prvi znak razmaka (koristeći funkciju InStr). Dakle, možete koristiti funkciju Lijevo da dobijete sve znakove lijevo od znaka za razmak. Ako se ne pronađe razmak, koristi se cijelo uneseno ime.

Ako string dobijen kao rezultat izvršavanja funkcije InputBox izgleda kao broj, može se konvertovati pomoću funkcije VBA Val.

U GetWord proceduri od korisnika se traži da unese riječ koja nedostaje (slika 2). Ovaj primjer također ilustruje upotrebu imenovanih argumenata ( R I t). Tekst upita se bira iz ćelije A1 radnog lista.

Sub GetWord() Dim TheWord As String Dim p As String Dim t As String p = Range("A1") t = "Koja riječ nedostaje?" TheWord = InputBox(prompt:=p, Title:=t) Ako je UCase(TheWord) = "PUMP" Tada MsgBox "True." Inače MsgBox "Nije ispravno." End If End Sub

Sub GetWord()

Zatamnite TheWord kao string

Dim p As String

Dim t As String

p = Raspon ("A1")

t = "Koja riječ nedostaje?"

TheWord = InputBox (prompt := p , Naslov := t )

Ako je UCase (TheWord ) = "PUMP" Onda

MsgBox "Točno."

Inače

MsgBox "Nije tačno."

Kraj ako

end sub

Rice. 2. Korišćenje funkcije VBA inputBox za prikaz upita

Excel InputBox metoda

Excel InputBox metoda pruža tri prednosti u odnosu na VBA InputBox funkciju:

  • mogućnost postavljanja tipa povratne vrijednosti;
  • mogućnost specificiranja raspona listova odabirom mišem;
  • automatska provjera ispravnosti unesenih podataka.

Metoda InputBox ima sljedeću sintaksu.

InputBox(prompt, [, naslov], [, zadano], [, lijevo], [, vrh], [, pomoć, odjeljak], [, tip])

  • Zahtjev. Određuje tekst koji će se prikazati u prozoru za unos (obavezno).
  • Naslov. Određuje naslov prozora za unos (opcionalno).
  • Default. Određuje vrijednost koja se po defaultu prikazuje u prozoru za unos (opcionalno).
  • Lijevo, gore. Određuje koordinate gornjeg lijevog ugla okvira za unos na ekranu (opcionalno).
  • Odjeljak za pomoć. Navedite datoteku i temu u sistemu pomoći (opcionalno).
  • Tip. Određuje kod tipa podataka koji će biti vraćen metodom (opcijski parametar; pogledajte sliku 3 za vrijednosti).

Rice. 3. Kodovi tipa podataka koje vraća Excel metoda InputBox

Koristeći zbir gornjih vrijednosti, možete vratiti više tipova podataka. Na primjer, da biste prikazali okvir za unos koji prihvata tekstualni ili numerički tip podataka, postavite kod na 3 (1 + 2 ili broj + tekst). Ako se vrijednost 8 koristi kao šifra tipa podataka, korisnik će moći unijeti adresu ćelije ili raspon ćelija u polje. Korisnik također može odabrati raspon u trenutnom radnom listu.

Procedura EraseRange koristi InputBox. Korisnik može odrediti opseg za brisanje (slika 4). Adresa opsega se unosi u prozor ručno, ili se bira mišem na listu. Metoda InputBox s kodom 8 vraća objekt Range (zapazite ključnu riječ Set). Odabrani raspon se zatim briše (koristeći metodu Clear). Podrazumevano, adresa trenutno izabrane ćelije se prikazuje u polju za unos. Ako kliknete na dugme u prozoru za unos Otkaži, tada izjava On Error prekida proceduru.

Sub EraseRange() Dim UserRange As Range On Error Idi To Otkazano Postavi UserRange = Application.InputBox _ (Prompt:="Raspon za brisanje:", _ Title:="Izbriši raspon", _ Default:=Odabir.Adresa, _ Tip: = 8) UserRange.Clear UserRange.Select Canceled: End Sub

Rice. 4. Primjer korištenja metode InputBox za odabir raspona

Ako u proceduru EraseRange unesete neopseg adresa, Excel će prikazati poruku (slika 5) i omogućiti korisniku da ponovi unos podataka.

Rice. 5. Metoda InputBox automatski potvrđuje unos

VBA MsgBox funkcija

Funkcija VBA MsgBox se koristi za prikaz poruke. Takođe šalje rezultat klikom na dugme OK ili Cancel). Sintaksa funkcije:

MsgBox(prompt[, dugmad][, naslov][, pomoć, tema])

  • Zahtjev. Određuje tekst koji će se prikazati u okviru za poruke (obavezno).
  • Dugmad. Sadrži numerički izraz (ili konstantu) koji specificira dugmad prikazana u okviru za poruke (opcionalno; slika 6). Takođe možete postaviti podrazumevano dugme.
  • Naslov. Sadrži naslov okvira za poruke (opcionalno).
  • Odjeljak za pomoć. Navedite datoteku pomoći i temu (opcionalno).

Rice. 6. Konstante i vrijednosti koje se koriste za odabir dugmadi u funkciji MsgBox

Prva grupa vrijednosti (0-5) opisuje broj i tip dugmadi u dijaloškom okviru. Druga grupa (16, 32, 48, 64) opisuje stil ikone. Treća grupa (0, 256, 512) određuje koje dugme je podrazumevano dodeljeno. Četvrta grupa (0, 4096) definira modalitet okvira za poruke. Peti određuje da li se okvir za poruku prikazuje na vrhu drugih prozora, postavlja poravnanje i smjer teksta. Prilikom zbrajanja brojeva, samo jedan broj iz svake grupe treba koristiti da se dobije konačna vrijednost argumenta Buttons.

Funkciju MsgBox možete koristiti kao proceduru (za prikaz poruke), a vrijednost koju vraća ova funkcija možete dodijeliti varijabli. Funkcija MsgBox vraća rezultat koji predstavlja dugme koje je korisnik kliknuo. Sljedeći primjer prikazuje poruku i ne vraća rezultat (pogledajte i kod za funkcije u ovom odjeljku u datoteci VBAmsgbox.xlsm).

Sub MsgBoxDemo() MsgBox "Nijedna greška se nije dogodila tokom izvršavanja makronaredbe." end sub

Da biste dobili rezultat iz okvira za poruke, dodijelite povratnu vrijednost funkcije MsgBox varijabli. Sljedeći kod koristi brojne ugrađene konstante (slika 7) kako bi se olakšala kontrola povratnih vrijednosti funkcije MsgBox.

Sub GetAnswer() Dim Ans As Integer Ans = MsgBox("Continue?", vbYesNo) Odaberite Case Ans Case vbYes " ... [kod kada je Ans Da] Case vbNo " ... [code kada je Ans Ne] Kraj Odaberite end sub

Rice. 7. Konstante koje vraća MsgBox

Funkcija MsgBox vraća varijablu tipa Integer. Ne morate koristiti varijablu za pohranjivanje rezultata funkcije MsgBox. Sljedeća procedura je varijacija GetAnswer procedure.

Sub GetAnswer2() Ako MsgBox("Nastavi?", vbYesNo) = vbYes Onda " ... [kod kada je Ans Da] Else " ... [kod kada je Ans Ne] Kraj ako Kraj pod

Sljedeći primjer funkcije koristi kombinaciju konstanti za prikaz okvira s porukom sa dugmadima Da, Ne i upitnikom (Slika 8). Drugo dugme ( br) se koristi po defaultu. Radi jednostavnosti, konstante su dodane u varijablu Config.

Privatna funkcija ContinueProcedure() Kao Boolean Dim Config As Integer Dim Ans As Integer Config = vbYesNo + vbQuestion + vbDefaultButton2 Ans = MsgBox("Došlo je do greške. Nastaviti?", Config) Ako je Ans = vbYes = onda ContinueProced F. ContinueProced Kraj funkcije

Rice. 8. Parametar Dugmad Funkcija MsgBox definira dugmad koja se prikazuju u okviru za poruke

U fajlu VBAmsgbox.xlsm funkcija ContinueProcedure predstavljena je kao procedura u svrhu demonstracije. Funkcija ContinueProcedure može se pozvati iz druge procedure. Na primjer, operater

Ako nije ContinueProcedure() onda izađite iz Sub

poziva funkciju ContinueProcedure (koja prikazuje okvir sa porukom). Ako funkcija vrati FALSE (tj. korisnik je kliknuo na dugme br), postupak će biti završen. U suprotnom, izvršava se sljedeća naredba.

Ako trebate navesti prijelom reda u poruci (slika 9), koristite konstantu vbCrLf (ili vbNewLine):

Sub MultiLine() Dim Msg As String Msg = "Ovo je prvi red." & vbCrLf & vbNewLine Msg = Poruka & "Drugi red." & vbCrLf Msg = Poruka & "Treći red." MsgBox Msg End Sub

SubMultiLine()

Priguši poruku kao string

msg= "Ovo je prva linija."& vbCrLf & vbNewLine

Poruka = ​​Poruka & "Druga linija." &vbCrLf

Poruka = ​​Poruka & "Treći red."

MsgBox Msg

end sub

Rice. 9. Podjela poruke u više redova

Konstanta vbTab se koristi za uključivanje znaka tabulatora u poruku. U proceduri ShowRange, okvir sa porukom se koristi za prikaz raspona vrijednosti od 10 redova po 3 kolone - ćelije A1:C10 (slika 10). U ovom slučaju, stupci se odvajaju pomoću konstante vbTab. Nove linije se ubacuju pomoću konstante vbCrLf. Funkcija MsgBox uzima kao parametar string čija dužina ne prelazi 1023 karaktera. Ova dužina postavlja ograničenje broja ćelija koje se mogu prikazati u poruci.

Sub ShowRange() Dim Msg As String Dim r As Integer, c As Integer Msg = "" Za r = 1 do 10 Za c = 1 do 3 Msg = Msg & Cells(r, c). Tekst Ako c<>3 Zatim Msg = Msg & vbTab Next c Msg = Msg & vbCrLf Next r MsgBox Msg End Sub

Sub ShowRange()

Priguši poruku kao string

Dim r kao cijeli broj, c kao cijeli broj

msg=""

Za r = 1 do 10

Za c = 1 do 3

Poruka = ​​Poruka i ćelije (r, c). Tekst

Ako c<>3 Zatim Poruka = ​​Poruka&vbTab

Sljedeći c

Msg=Msg&vbCrLf

Sljedeći r

MsgBox Msg

end sub

Rice. 10. Tekst u ovom polju za poruku sadrži tabulatore i prijelome redova

Excel GetOpenFilename metoda

Ako aplikacija treba da dobije ime datoteke od korisnika, onda možete koristiti funkciju InputBox, ali ovaj pristup često dovodi do grešaka. Pouzdanije je koristiti metodu GetOpenFilename objekta Application, koja osigurava da aplikacija dobije ispravno ime datoteke (kao i njenu punu putanju). Ova metoda vam omogućava da prikažete standardni dijaloški okvir Otvaranje dokumenta, ali se navedena datoteka ne otvara. Umjesto toga, metoda vraća string koji sadrži putanju i ime datoteke koje je izabrao korisnik. Na kraju ovog procesa, možete raditi šta god želite sa imenom datoteke. Sintaksa (svi parametri su opcioni):

Application.GetOpenFilename(filter_filter, filter_indeks, zaglavlje, višestruki_select)

  • file_filter. Sadrži niz koji specificira kriterije filtriranja datoteka (opcionalno).
  • filter_index. Određuje broj indeksa zadanog kriterija filtriranja datoteka (opcionalno).
  • Naslov. Sadrži naslov dijaloškog okvira (opcionalno). Ako ovaj parametar nije naveden, tada će se koristiti naslov. Otvaranje dokumenta.
  • Više izbora. Opcioni parametar. Ako je TRUE, može se odabrati više imena datoteka. Ime svake datoteke se unosi u niz. Podrazumevano, ovaj parametar je postavljen na FALSE.

Argument FileFilter specificira sadržaj padajuće liste. Vrsta datoteke nalazi se u prozoru Otvaranje dokumenta. Argument se sastoji od niza koji specificira vrijednost koja će se prikazati, kao i važećeg niza specifikacije tipa datoteke koji sadrži zamjenske znakove. Oba elementa argumenta su odvojena zarezima. Ako ovaj argument nije naveden, koristit će se zadana vrijednost: " Sve datoteke (*.*),*.* " . Prvi dio niza Sve datoteke (*.*) je tekst prikazan na padajućoj listi tipa datoteke. Drugi dio *.* reda specificira tip datoteka za prikaz.

U sljedećim izjavama, varijabli Filt je dodijeljena vrijednost niza. Ovaj niz se kasnije koristi kao argument filtera datoteka metode GetOpenFilename. U ovom slučaju, dijaloški okvir će omogućiti korisniku da odabere jednu od četiri vrste datoteka (osim opcije Svi dokumenti). Ako postavite vrijednost varijable Filt, koristit će se VBA operator konkatenacije nizova. Ova metoda olakšava upravljanje glomaznim i složenim argumentima.

Filt = "Tekstualne datoteke (*.txt),*.txt", & _ "Lotus datoteke (*.prn),*.prn," & _ "Datoteke odvojene zarezima (*.csv),*.csv," & _ "ASCII fajlovi (*.asc),*.asc," & _ "Svi fajlovi (*.*),*.*"

Sljedeći primjer traži od korisnika ime datoteke. U ovom slučaju, pet filtera se koristi u polju tipa datoteke (kod se nalazi u datoteci prompt za file.xlsm).

Sub GetImportFileName() Dim Filt As String Dim FilterIndex kao cijeli broj Dim FileName kao varijanta Dim Title kao string " Postavi Filter Liste Filt = "Text Files (*.txt),*.txt," & _ "Lotus Files (*.prn) ,*.prn," & _ "Datoteke odvojene zarezima (*.csv),*.csv," & _ "ASCII datoteke (*.asc),*.asc," & _ "Sve datoteke (*.*), *.*" " Prikazuje *.* prema zadanim postavkama FilterIndex = 3 " Postavka naslova dijaloškog okvira Title = " Odaberite datoteku za uvoz" " Получение имени файла FileName = Application.GetOpenFilename _ (FileFilter:=Filt, _ FilterIndex:=FilterIndex, _ Title:=Title) " При отмене выйти из окна If FileName = False Then MsgBox "Файл не выбран." Exit Sub End If " Отображение полного имени и пути MsgBox "Вы выбрали " & FileName End Sub!}

Sub GetImportFileName()

Dim Filt As String

Dim FilterIndex kao cijeli broj

Dim FileName kao varijanta

Dim Title As String

„Postavljanje liste filtera

Filt = "Tekstualne datoteke (*.txt),*.txt" & _

"Lotus datoteke (*.prn),*.prn," & _

"Datoteke odvojene zarezima (*.csv),*.csv," & _

"ASCII datoteke (*.asc),*.asc," & _

"Svi dokumenti (*.*),*.*"

" Prikazuje * . * prema zadanim postavkama

Indeks filtera = 3

" Prilagođavanje naslova dijaloškog okvira

Title = "Odaberite datoteku za uvoz" !}

„Nabavite ime datoteke

Ime datoteke = Aplikacija . GetOpenFilename_

(Filter datoteka := Filt , _

FilterIndex := FilterIndex , _

Naslov: = Naslov)

„Ako otkažete, izađite iz prozora

Ako je FileName = False Onda

MsgBox "Nema odabrane datoteke."

exit sub

Kraj ako

" Prikaz punog naziva putanje

MsgBox"Ti si izabrao"& ime dokumenta

krajSub

Na sl. Slika 11 prikazuje dijaloški okvir koji se prikazuje nakon završetka ove procedure (podrazumevani filter je *.csv).

Rice. 11. Metoda GetOpenFilename prikazuje dijaloški okvir u kojem je odabrana datoteka

U sljedećem primjeru, korisnik može držati pritisnute tipke I , odaberite više datoteka u prozoru. Imajte na umu da dugme koristi događaj Otkaži određeno prisustvom varijable niza FileName. Ako korisnik nije kliknuo na dugme Otkaži, tada će se rezultirajući niz sastojati od najmanje jednog elementa. Ovaj primjer prikazuje listu odabranih datoteka u okviru za poruke.

Sub GetImportFileName2() Dim Filt As String Dim FilterIndex As Integer Dim FileName Kao varijanta Dim Title As String Dim i As Integer Dim Msg As String " Postavi listu filtera datoteka Filt = "Text Files (*.txt),*.txt," & _ "Lotus datoteke (*.prn),*.prn," & _ "Datoteke odvojene zarezima (*.csv),*.csv," & _ "ASCII datoteke (*.asc),*.asc," & _ "Sve datoteke (*.*),*.*" " Prikazuje *.* prema zadanim postavkama FilterIndex = 5 " Postavka naslova dijaloškog okvira Title = " Odaberite datoteku za uvoz" " Получение имени файла FileName = Application.GetOpenFilename _ (FileFilter:=Filt, _ FilterIndex:=FilterIndex, _ Title:=Title, _ MultiSelect:=True) " Выход в случае отмены работы с диалоговым окном If Not IsArray(FileName) Then MsgBox "Файл не выбран." Exit Sub End If " Отображение полного пути и имени файлов For i = LBound(FileName) To UBound(FileName) Msg = Msg & FileName(i) & vbCrLf Next i MsgBox "Было выбрано:" & vbCrLf & Msg End Sub!}

Imajte na umu da je varijabla FileName definirana kao niz tipa varijable (a ne kao string u prethodnom primjeru). Razlog je taj što FileName potencijalno može sadržavati niz vrijednosti, a ne samo jedan string.

Excel GetSaveAsFilename Method

Ova metoda prikazuje dijaloški okvir Čuvanje dokumenta i omogućava korisniku da odabere (ili odredi) ime za sačuvanu datoteku. Kao rezultat, vraća se ime datoteke, ali se ništa ne poduzima. Sintaksa (svi parametri su opcioni):

Application.GetSaveAsFilename(start_name, file_filter, filter_index, title, button_text)

  • Start_name. Određuje željeni naziv datoteke.
  • file_filter. Sadrži kriterijume za filtriranje datoteka prikazanih u prozoru.
  • filter_index. Kôd kriterija filtriranja datoteka koji se koristi po defaultu.
  • Naslov. Određuje tekst naslova za dijaloški okvir.

Dobivanje naziva foldera

Da biste dobili naziv datoteke, najlakši način je korištenje gore opisane metode GetOpenFileName. Ali ako želite da dobijete samo ime fascikle (bez naziva datoteke), bolje je da koristite Excel FileDialog objekat metod. Sljedeća procedura prikazuje dijaloški okvir iz kojeg možete odabrati mapu (pogledajte i datoteku get directory.xlsm). Funkcija MsgBox prikazuje naziv odabrane mape (ili poruku Otkazano).

Inače

MsgBox. SelectedItems(1 )

krajAko

krajWith

krajSub

Objekt FileDialog vam omogućava da navedete početnu mapu specificiranjem vrijednosti svojstva InitialFileName. Primjer koristi zadanu putanju do Excel datoteka kao početne mape.

Prikaz dijaloških okvira programa Excel

VBA kod koji kreirate može pozvati mnoge Excel komande koje se nalaze na traci. A ako komanda otvori okvir za dijalog, vaš kod može napraviti izbore u okviru za dijalog (čak i ako sam dijaloški okvir nije prikazan). Na primjer, sljedeća VBA izjava je ekvivalentna odabiru naredbe Dom –> Uređivanje –> Pronađite i odaberite –> Idi i specificiranjem opsega ćelija A1:SZ i zatim klikom na dugme OK. Ali sam dijalog Tranzicija ne prikazuje se (to je upravo ono što je potrebno).

Application.Goto Referenca:=Raspon("A1:C3")

Ponekad je potrebno prikazati ugrađene Excel prozore kako bi korisnik mogao napraviti svoj izbor. Ovo se radi pomoću kolekcije Dialogs objekta Application. Imajte na umu da je Microsoft sada prekinuo podršku za ovu funkciju. U prethodnim verzijama Excela, prilagođeni meniji i trake sa alatkama kreirani su pomoću komandna traka. U verzijama programa Excel 2007 i Excel 2010, ovaj objekt je i dalje dostupan, iako radi drugačije nego prije. Počevši od Excel 2007, mogućnosti objekata komandna traka značajno su proširene. Konkretno, objekt komandna traka može se koristiti za pozivanje naredbi trake pomoću VBA. Mnoge komande kojima se pristupa preko trake prikazuju okvir za dijalog. Na primjer, sljedeća izjava prikazuje okvir za dijalog Prikaži skriveni list(Sl. 12; vidi i fajl imena kontrola trake.xlm):

Application.CommandBars.ExecuteMso("SheetUnhide")

Rice. 12. Dijaloški okvir prikazan kao rezultat izvršavanja gornje izjave

Metoda ExecuteMso uzima samo jedan argument, idMso, koji predstavlja kontrolu trake. Nažalost, nedostaju informacije o mnogim parametrima u sistemu pomoći.

U fajlu imena kontrola trake.xlm opisana su sva imena komandnih opcija Excel trake. Eksperimentirajte s opcijama navedenim u ovoj radnoj svesci. Mnogi od njih odmah pozivaju komande (bez srednjih dijaloških okvira). Ali većina njih generiše grešku kada se koristi u pogrešnom kontekstu. Na primjer, Excel prikazuje poruku o grešci ako se naredba Functionwizard pozove kada je dijagram odabran.

Sljedeća izjava rezultira prikazivanjem kartice Font dijaloški okvir Format ćelije:

Application.CommandBars.ExecuteMso("FormatCellsFontDialog")

Zaista ne biste trebali koristiti CommandBars jer je malo vjerovatno da će biti podržani u budućim verzijama Excela.

Prikaz obrasca za unos podataka

Mnogi korisnici koriste Excel za upravljanje listama koje imaju informacije sortirane po redu. Excel pruža jednostavan način rada sa ovim tipovima podataka koristeći ugrađene obrasce za unos podataka koji se mogu automatski generirati. Ovaj obrazac je dizajniran da radi i sa regularnim opsegom i sa opsegom formatiranim kao tabela (pomoću komande Insert –> stolovi –> Table). Primjer obrasca za unos podataka prikazan je na sl. 13 (vidi i fajl forma podataka primjer.xlsm).

Rice. 13. Neki korisnici više vole da koriste ugrađene forme za unos Excel podaci za unos informacija; Da biste uvećali sliku, kliknite desnim tasterom miša na nju i izaberite Otvorite sliku u novoj kartici

Iz nekog nepoznatog razloga, na Excel traci ne postoji naredba koja omogućava pristup obrascu za unos podataka. Slična komanda se može dodati na traku sa alatkama za brzi pristup. Da biste to učinili, slijedite ove korake.

  1. Kliknite desnim tasterom miša na alatnu traku za brzi pristup i izaberite opciju iz kontekstnog menija Prilagođavanje trake sa alatkama za brzi pristup.
  2. Na ekranu će se pojaviti kartica. Traka sa alatkama za brzi pristup dijaloški okvir Excel opcije.
  3. Drop Odaberite komande iz izaberite opciju Komande nisu na traci.
  4. Odaberite opciju sa liste koja se pojavi. Forma.
  5. Kliknite na dugme Dodati da dodate izabranu komandu na traku sa alatkama za brzi pristup.
  6. Kliknite na dugme OK da zatvorite dijaloški okvir Excel opcije.

Nakon dovršetka gornjih koraka, nova ikona će se pojaviti na traci s alatima za brzi pristup.

Da biste radili sa obrascem za unos podataka, morate strukturirati podatke na takav način da ih Excel prepoznaje kao tabelu. Započnite određivanjem naslova kolona u prvom redu vašeg raspona unosa. Odaberite bilo koju ćeliju u tabeli i kliknite na dugme Forma paneli za brzi pristup. Excel prikazuje dijaloški okvir u koji će se unositi podaci. Koristite tipku za kretanje između tekstualnih polja i unos informacija. . Ako ćelija sadrži formulu, rezultat izračuna se prikazuje kao tekst (a ne kao polje za unos podataka). Drugim riječima, nije moguće mijenjati formule pomoću obrasca za unos podataka.

Kada završite sa unosom podataka u obrazac, kliknite na dugme. Stvoriti. Excel zatim unosi podatke u red radnog lista i briše dijaloški okvir za unos sljedećeg reda podataka.

Koristite metodu ShowDataForm da prikažete Excel obrazac za unos podataka. Jedini uslov je da aktivna ćelija mora biti u opsegu. Sljedeći kod aktivira ćeliju A1 (u tabeli), a zatim prikazuje obrazac za unos podataka.

Izlaz (prijenos korisniku) rezultata programa i drugih poruka se vrši preko dijalog box-a za poruke.

Za organiziranje izlaza informacija koristi se ugrađena funkcija MsgBox.

Razmotrite opcije za njegovu upotrebu.

1. y = Kvadrat(16)

MsgBox y

2. S=99

MsgBox("S= ” & S)

to je znak konkatenacijaampersand;

koristi se za kombinovanje više linija u jednu

3. a=5: b=101

MsgBox("a="& a & " " & "b=" &b)

4. MsgBox("a=" & a & Chr(13) & "b=" & b)

koristeći ovu funkciju, unesite prelazni simbol

na novu liniju(konvertuje broj u znak)

Rad sa Excel objektima

Excel objektni model predstavlja hijerarhiju objekata podređenih jednom objektu Aplikacija, što odgovara at Excel aplikacija. Objekti excel su radne sveske, radni listovi, grafikoni, opsezi ćelija, ćelije itd.

VBA može programski manipulirati bilo kojim od ovih objekata.

Svaki objekat ima set svojstva, metode I događaji.

Nekretnina je karakteristika ili parametar objekta.

Metoda je radnja koju objekt može izvršiti.

Događaj je akcija na koju objekt automatski reagira.

upravljati objektom uVBAmoguće na 3 načina:

    promjena svojstava objekta;

    pozivanjem metode povezane s objektom;

    definiranje procedure koja će se pokrenuti kao odgovor na događaj.

Prikaz informacija u Excel ćeliji

Ćelija kao Excel objekat u VBA programu je označena ćelije (i, j), Gdje i- broj reda j je broj kolone tabele.

Y

Značenje Yće se prikazati na aktivnom listu Excel radne knjige u ćeliji B3

= 0.01

Ćelije(3, 2) = Y

WITH

varijabla B bit će dodijeljena vrijednost

koji je pohranjen u ćeliji C5

(tj. sadržaj ćelije C5)

čitanje informacija iz Excel ćelije

B = Ćelije(5, 3)

vba alat za unos

Unos informacija od korisnika vrši se kroz dijaloški okvir za unos. Implementirano sa ugrađenom funkcijom InputBox.

Dim x As Single

x = Val(InputBox("Enter x"))

Funkcija InputBox vraća niz znakova unetih u polje za unos ( 15 ) kao tip podataka String(string). ugrađena funkcija Val() pretvara vrijednost niza iz polja za unos u numeričku vrijednost.

Linearni računarski procesi

Linearni algoritam karakterizira strogi slijed implementacije blokova po redoslijedu njihove lokacije u shemi - od vrha do dna. Nema uslovnih blokova. Svaki blok se izvršava jednom.

Primjer 1 Izračunaj vrijednost funkcije

kod k = 33,5 x = 17

1. Hajde da sastavimo algoritam za rešavanje problema.

2. U prozor uređivača kodova unesite programski kod:

Opcija Eksplicitna

Podlinearni_proces()

Dim k Kao pojedinačni, x Kao pojedinačni, y Kao pojedinačni'deklaracija varijable

x = Val(InputBox("Unesite x vrijednost"))

y = k * Exp(Sin(x))

MsgBox "y=" & y' prikazati rezultat u dijaloškom okviru

end sub

Tim Opcija Eksplicitna obavezuje da deklariše sve varijable u datom programu. Može se postaviti samo u odjeljak deklaracije modula.

Uslovna izjava u VBA.

Često je potrebno da se dio programa izvrši samo ako su ispunjeni određeni uvjeti. Rješenje ovog problema je korištenje posebnih konstrukcija koje koriste operatore grananja.

Opšti pogled na ovaj dizajn:

Ako<логическое выражение>Onda<список операторов>Kraj ako

<логическое выражение>je jednostavan ili složen uslov, ili booleova konstanta (tačno ili netačno)

Složeni uslov se sastoji od jednostavnih uslova povezanih logičkim operacijama I ili ILI

Na primjer: (a =b)

Algoritam

2) Ako je vrijednost logičkog izraza tačna, tada se izvršava lista iskaza

3) Ako je vrijednost logičkog izraza lažna, onda se ništa ne radi

Dodatna grana uslovne grane:

Ako<логическое выражение>Onda

<список операторов1>

<список операторов2>

Algoritam

1) Izračunava se vrijednost logičkog izraza

2) Ako je vrijednost logičkog izraza tačna, tada se izvršava lista iskaza 1

3) Ako je vrijednost logičkog izraza lažna, tada se izvršava lista iskaza 2

Nekoliko ugniježđenih operatora:

Ako<логическое выражение1>Onda

<список операторов1>

ElseIf<логическое выражение2>Onda

<список операторов2>

ElseIf<логическое выражениеN>Onda

<список операторовN>

Algoritam

1) Izračunava se vrijednost logičkog izraza 1

2) Ako je vrijednost logičkog izraza 1 tačna, tada se izvršava lista iskaza 1

3) Ako je vrijednost logičkog izraza 1 lažna, tada se izvršava lista izjava 2

4) Ako je vrijednost logičkog izraza 2 tačna, tada se izvršava lista iskaza 2

5) Ako je vrijednost logičkog izraza 2 lažna, tada se izvršava lista izjava 3

4) Ako je vrijednost logičkog izraza N tačna, tada se izvršava lista iskaza N

5) Ako je vrijednost logičkog izraza N lažna, onda se ništa ne radi

a = inputbox("Enter A")

Ćelije – svojstvo koje vam omogućava pristup određenim ćelijama radnog lista.

Ćelije(i,j) – ćelija i njene koordinate – broj reda i kolone.

Na primjer:

Ćelije(1,1) - poziv ćeliji A1

Da biste postavili vrijednost ili formulu u ćeliju:

Ćelije(2,2)=2 - stavite vrijednost 2 u ćeliju B2.

Ćelije(2,2).Vrijednost =2 stavlja vrijednost 2 u ćeliju B2.

Ćelije(3,1) = a+b - stavite formulu za zbir brojeva a i b u ćeliju C1.



Ćelije(3,2) = ćelije(1,1).vrijednost + ćelije(1,2).vrijednost - u ćeliju C2 stavite formulu za zbir vrijednosti iz ćelija A1 i A2.

Cells(i,j) = InputBox(“”) - ćelija će sadržavati vrijednost koju unosimo u polje za unos.

Ćelije(i,j).Select - odaberite određenu ćeliju

Cells.Select - odaberite sve ćelije na radnom listu.

Ćelije(i,j).Aktiviraj - učini ćeliju aktivnom.

Za prikaz vrijednosti u ćeliji na ekranu:

Ćelije(1,1) =3 - stavite vrijednost 3 u ćeliju A1.

Msgbox(cells(1,1)) - prikazuje se vrijednost iz ćelije.

Ćelije(1,1) = k+2 - u ćeliju A1 stavljamo formulu k+2, gdje je k dati broj

Msgbox(cells(1,1)) - prikazuje se rezultat izračunate formule pohranjene u ćeliji A1.

MsgBox() - Prikazuje okvir za poruke i vraća vrijednost u zavisnosti od toga koje je dugme korisnik pritisnuo. Može se koristiti za prikaz rezultata proračuna na ekranu kao poruka.

MsgBox (prompt, dugmad, naslov, datoteka pomoći, kontekst)

MsgBox (opis alata, dugmad, naslov, datoteka pomoći, kontekst)

prompt (hint) - poruka koja se prikazuje na ekranu.

dugmad (dugmad) - konstanta koja određuje koja će dugmad biti sadržana u ovom dijaloškom okviru.

title - Naslov dijaloškog okvira.

helpfile (fajl pomoći) - naziv datoteke pomoći.

kontekst (kontekst) - kontekst za kontekstualnu pomoć, opisan ako postoji datoteka pomoći.

InputBox - funkcija unosa početnih podataka. Prikazuje dijaloški okvir sa porukom i poljem za unos korisničkog teksta.

Funkcija MsgBox dozvoljava izlazne informacije na ekranu kao prozor.

Opšti prikaz funkcija:

MsgBox poruka

[,kod dugmeta [,naslov]]

poruka - definira vrijednost izraza koji će biti prikazan u okviru za poruke. Ovaj izraz može biti tekst koji treba citirati i/ili varijabla. Za prikaz teksta poruka i vrijednosti varijable u jednom prozoru, koristite operator konkatenacije nizova (&).

Dim Pi kao samac

MsgBox "pi=" & Pi

Rezultat makronaredbe:

kod dugmeta - određuje koji tasteri i ikone će biti prikazani u prozoru poruke. Ako ovaj parametar nije naveden, okvir za poruku sadrži samo dugme uredu.

naslov - sadrži tekst koji se prikazuje u naslovnoj traci poruke. Ako ovaj argument nije dat, string se stavlja u zaglavlje Microsoftexcel.

Dim Pi kao samac

MsgBox Pi,"Ovo je Pi"

Unos informacija u VBA se može uraditi pomoću polja za unos:

Funkcija InputBox kreira prozor za unos:

InputBox(poruka

[,naslov[,vrijednost]])

poruka - niz znakova ili varijabla niza koja sadrži tekstualnu poruku korisniku;

naslov - tekst koji se prikazuje u naslovnoj traci poruke;

vrijednost - Određuje vrijednosti prikazane prema zadanim postavkama u tekstualnom polju dijaloškog okvira.

ZADATAK 2. Ugao je dat u radijanima. Pretvorite u stupnjeve.

Konst pi = 3,14159

Dim g As Integer

Dim m As Integer

Dim s As Integer

r = InputBox("r=", "Vrijednost ugla u radijanima", pi / 4)

g = Popravi (r * 180 / pi)

m = Popravi((r*180/pi-g)*60)

s=Fix(((r*180/pi-g)*60-m)*60)

MsgBox g & "stepeni" & m & "minute" & s & "sekunde"

18. Uslovni operator

Uslovni izrazi se koriste kada je, u zavisnosti od nekog uslova, potrebno izvršiti jednu ili drugu radnju.

Uslovni operator, koji odgovara datom blok dijagramu, ima oblik:

Ako izraz Onda

operator1

operator2

U ovoj konstrukciji, izraz mora imati logički tip.

Operater radi ovako. Vrijednost izraza se procjenjuje. Ako se procijeni na istinito, naredba1 se izvršava, u suprotnom (izraz se procjenjuje na false), izvršava se naredba2.

Ako se, u zavisnosti od uslova, izvrši neka radnja, a inače se ništa ne dogodi, tada algoritam ima oblik:

Uslovni operator u ovom slučaju ima strukturu:

Ako izraz Onda

operater

Ovaj unos se može nazvati "preskakanje naredbe else".

Ovdje se naredba ili izvršava ili preskače, ovisno o vrijednosti izraza.

Višestruko ugniježđeni If...Then...Else izrazi su dozvoljeni, ugniježđeni onoliko nivoa koliko je potrebno.

Ako izraz1 Onda

operatori1

Elseif izraz2 onda

operatori2

Elseif izraz3 onda

operateri3

Elseif izrazN onda

operatoriN

operateri

Da bi program bio lakši za čitanje, umjesto više ugniježđenih izraza, ponekad je bolje koristiti naredbu Select Case.

Odaberite Case<izraz>

slučaj<uslov izbora 1>

<operateri 1>

slučaj<uslov izbora 2>

<operateri 2>

……………..

slučaj<uslov izboraN>

<operateriN>

<operateri>

19. Primjeri programa

ZADATAK 3 . Poznati su koeficijenti a, b i c kvadratne jednačine sjekira 2 +bx+c=0. Izračunajte korijene kvadratne jednadžbe.

Ulazni podaci: a, b, c.

Izlazni podaci: x 1, x 2.

Sub prim7()

Dim x1 As Single

Dim x2 As Single

InputBox("A=","Koeficijenti kvadratne jednadžbe", 2)

InputBox("B="," Kvadratni koeficijenti", 3)

InputBox("C="," Kvadratni koeficijenti",-2)

d=b^2 - 4*a*c

Ako d< 0 Then

MsgBox "Nema važećih rješenja", vbCritical

x1=(-b+Sqr(d))/(2*a)

x2=(-b-Sqr(d))/(2*a)

MsgBox "X1=" & x1 & Chr(13) & "X2=" & x2, vbInformation

ZADATAK 4. Dat je pravi broj x. Za funkciju čiji je grafikon dat ispod, izračunajte y=f(x).

Ako je x<= -1 Then

ElseIf x > 1 Onda

ZADATAK 5. Dati realne brojeve x I y. Odredite da li je tačka sa koordinatama ( x; y) zasjenjenog dijela ravni.

Tačka sa koordinatama ( x;y) pripada zasjenjenom dijelu ravni ako:

Ako y<= 2 * x + 2 And

Predavanje za ZF

OPERATORI ULAZA I IZLAZA PODATAKA.

LINEARNI RAČUNARSKI PROCESI

OPERATOR DODJELALET

Operator dodjeljivanja se koristi za izračunavanje vrijednosti izraza i dodjelu te vrijednosti varijabli. Kada pišete program, naredba Let može biti izostavljena.

Format operatera:

Ime varijable = Izraz

SUMMA=X+COS(X)^2

Potrebno je razlikovati operator dodjeljivanja i algebarsku jednakost. Operator Y = A + B znači za računar: dodati sadržaj memorijskih ćelija dodijeljenih za postavljanje vrijednosti varijabli A i B, a rezultat smjestiti u memorijsku ćeliju dodijeljenu za vrijednost varijable Y. U programiranju se široko koristi konstrukcija operatora dodjeljivanja tipa I = I + 1 1 se dodaje datoj vrijednosti varijable I, a rezultat se stavlja u istu ćeliju, zamjenjujući informaciju koja je tamo bila novi. Sa stanovišta matematike, jednakost i= i+1 nema smisla.

Prilikom dodjeljivanja vrijednosti niza varijablama, one moraju biti zatvorene u navodnicima:

T = "Parametar 1",

i vrijednosti tipa Datum/Vrijeme trebaju biti zatvorene u # znakova („znak funte“):

D = #11/29/2008#

OPERATORI ULAZA PODATAKA

Pogledajmo tri glavna načina unosa podataka.

1. Snimanje varijabilnih vrijednosti direktno u tekstu programa sprovedeno kroz operator dodjeljivanja.

Ime varijable = Izraz

Ova metoda se koristi ako su izvorni podaci ne mijenjaj za višestruka izvođenja programa.

2. Unos podataka iz ćelija radnog listaexcel.

Da biste to učinili, koristite upute WITHells(i, j) , koja u ovom slučaju djeluje kao funkcija unosa podataka. Format upotrebe:

ime_varijable= Cells(i, j) ,

Gdje i, j- redni brojevi reda i kolone (numeričke vrijednosti!), odnosno, na čijem se presjeku ćelija nalazi, odnosno adresa ćelije.

Treba imati na umu da su podaci u Excel listu već postoje.

Primjer: A = Ćelije(1, 2)

Nakon izvršenja ove naredbe, varijabli A će biti dodijeljena vrijednost koja je pohranjena u ćeliji koja se nalazi u prvom redu (prva znamenka) iu drugom stupcu (druga znamenka), odnosno u ćeliji B1 tabele.

3. Direktan unos podataka tokom programa, tj. u dijaloškom načinu, izvodi se pomoću dijaloškog okvira za unos informacija koji implementira funkcija InputBox. Osnovni format ove funkcije je:

ime_varijable =InputBox(“Poruka” [, “Naslov”] [, “Vrijednost”]).

Kada je program pokrenut, kada se ova komanda izvrši, na ekranu monitora se pojavljuje dijaloški okvir sa navedenim Naslov , koji sadrži tekst Poruke , kao i polje za unos sa navedenim Značenje:

Izvršenje programa se obustavlja čekajući unos sa tastature i pritiskanje jednog od tastera. Nakon unosa podataka i klika na dugme OK, varijabli se dodeljuje vrednost tipa String(tip podataka niza) koji sadrži tekst uneseno u polje za unos.

Primjer: x = InputBox(“Unesite x”, “Ulazni podaci”, “0,15”)

Ime prozora se može izostaviti (a zadržavajući lokaciju zareza):

x = InputBox("Enter x", "0.15")

Funkcija InputBox se koristi kada se unose podaci mijenjati svaki put kada se program pokrene., tako da obično vrijednost varijable nije postavljena i koristi se najjednostavniji način za pisanje ove funkcije:

ime_varijable= InputBox("Poruka")

Primjer: d = InputBox("Unesite vrijednost prečnika")

Ako unesete 23 u polje za unos u dijaloškom okviru koji se pojavi, tada će u promjenljivu d biti upisan tekst “23”, a ne broj 23. Tekstualni niz “23” je samo vizuelni prikaz broja, ali nije broj u bukvalnom smislu te riječi, jer se s njim, kao i sa svakim drugim tekstom, ne mogu izvoditi nikakve aritmetičke operacije.

Da biste konvertovali niz podataka u numerički tip, koristite funkciju Val(Linija) , koji vraća broj sadržan u linija , kao numerička vrijednost odgovarajućeg tipa.

Prilikom upisivanja u programski kod

d = Val(InputBox("Unesite vrijednost prečnika"))

i unosom broja 23 u polje za unos, varijabli d će biti dodijeljen broj 23.

OPERATORI ZA IZLAZ PODATAKA

Razmotrimo tri glavna načina izlaza podataka.

1. Zaključak u dijaloški okvir koristeći naredbu MsgBox:

MsgBox "Poruka", "Naslov"

IN Kao rezultat izvršavanja ove naredbe, na ekranu se pojavljuje okvir za dijalog. header A koji sadrži navedeni tekst Poruke . Izvršenje programa se obustavlja dok korisnik ne pritisne tipku OK.

Primjer: MsgBox y , "Rezultat"

U ovom slučaju, kao što je prikazano u prozoru Rezultat poruka je postavljena na trenutnu vrijednost varijable y:

Najjednostavniji format za pisanje MsgBox operatora:

MsgBox"poruka"

Tipično, poruka uključuje ne samo izlaznu vrijednost, već i komentar, koji je stavljen u navodnike. Da biste spojili nekoliko fragmenata u jedan red u izlaznoj naredbi, oni su odvojeni znakom & .

Primjer: MsgBox “Vrijednost prečnika =” & d

Kao rezultat, na ekranu će se pojaviti sljedeći dijaloški okvir:

2. Izlaz podataka na listu radne sveskeexcel koristeći uputstva WITHells(i, j) . U ovom slučaju, za razliku od prethodno razmatranog, djeluje kao izlazna naredba:

Cells(i, j) = "Poruka".

Kao rezultat ove naredbe, navedeni Poruka smješten u ćeliju s adresom određenom brojem reda i i broj kolone j.

Ćelije(1, 1) = "x=" „Izlaz u ćelijuA1 tekstx=

Ćelije(1, 2) = x „Izlaz u ćelijuB1 trenutna vrijednost varijablex

3. Izlaz podataka u prozor za otklanjanje grešaka Odmah(„Odmah“). Ovaj prozor se obično nalazi ispod prozora koda. Ako ovaj prozor ne postoji, onda se može prikazati pritiskom na Ctrl + G ili iz glavnog menija VBA pogledImmediate Window.

Za izlaz u prozor za otklanjanje grešaka, koristite metodu Print objekta Debug (debuger). Format snimanja:

Debug.Print["Message"]

Primjer: Debug.Print “Vrijednost promjera =” & d

Kao što možete vidjeti iz ovog primjera, naredba Debug.Print se koristi na sličan način kao naredba MsgBox.

Prazan (tj. bez Poruke) metoda Debug.Print daje prazan string.

Pored znaka & u metodi Print, moguće je koristiti i graničnike za listu izlaznih podataka. Istovremeno, znak " ; ” znači izlaz sljedeće vrijednosti odmah iza prethodne, znak “ , » – prelazak na početak nove zone za štampanje (prozor za otklanjanje grešaka je podeljen na 5 vertikalnih zona od po 14 karaktera). Prilikom ulaska u znak " ; » između stavki izlazne liste može se izostaviti, VBA će ga automatski dodati.

Zarez ili tačka-zarez na kraju izlazne liste u komandi Debug.Print potiskuju nove redove (sljedeći Debug.Print će se ispisati u istom redu).

Primjer: Debug.Print "Rezultat y="; y ;

U bilo kojoj izlaznoj izjavi(MsgBox, Cells, Debug.Print) moguće je prikazati ne samo gotove rezultate, već i istovremeni proračun i izlaz:

Debug.Print "s="; s, "k1+k2 = "; k1 + k2

MsgBox "Ako je prečnik = " & d & " onda je radijus = " & d / 2

Za prikaz numeričke vrijednosti u navedenom formatu u izlaznim izjavama MsgBox, Debug.Print, umjesto imena varijable, koristite funkciju Format koji označava broj decimalnih mjesta.

Debug.Print z 'varijabilni izlaz z na uobičajen način

Debug.Print Format(z, "#0. 00 ") 'promjenjivi izlaz z sa 2 decimale

MsgBox Format(z, "#0. 000 ") 'promjenjivi izlaz z sa 3 decimale

Ne preporučuje se upotreba funkcije Format u izlaznom iskazu Ćelije.

LINEARNI RAČUNARSKI PROCESI

Najjednostavniji su programi koji implementiraju algoritme za linearni računski proces. Program u ovom slučaju sadrži naredbe za unos podataka, dodjelu i izlaz podataka. Operatori se pišu uzastopno jedan za drugim u njihovom prirodnom redoslijedu i izvršavaju se samo jednom.

Opća struktura linearnog programa:

OpcijaEksplicitno

Sub Ime_ procedure()

Deklarisanje konstanti (Konst )

Deklarisanje varijabli (Dim )

Tijelo procedure:

Unos početnih podataka

Računarstvo

Izlaz rezultata

krajSub

Primjer_L1. Sastavite GSA i tekst programa za izračunavanje funkcije:

gdje je x = a∙t 2 + 0,2 , a = 18, t je proizvoljan.

Tekst programa GAW:

OpcijaEksplicitno'Zabrana korištenja nedeklariranih varijabli

Sub lin_process1() 'Početak procedure lin_process1

Konst a = 18 'Const deklaracija a

Dim t As t

Dim x As Jedna 'deklaracija realne varijable x

Dim y As Jedna 'deklaracija realne varijable y

t = Val(InputBox("Unesite t")) t

x = a * t ^2 + 0,2 ‘Proračun x

y = (x ^ 2 + Log(x) - (x + 1) ^ 2) / (x * Sin(x)) ‘Izračun y

MsgBox "Rezultat y=" & y 'Izlaz y u dijaloški okvir

krajSub'Kraj procedure

Ispod je rješenje za isti primjer koristeći različite metode unosa i izlaza.