JEŻELI(warunek logiczny; akcja na TAK; akcja na NIE).
LICZ.JEŻELI(zakres; kryteria). LICZ.JEŻELI(H5:H10;”Nagroda”),
a zwróci nam ona liczbę komórek, w których znajduje się tekst Nagroda.
ZAOKR(ŚREDNIA(B3:C3);1)
JEŻELI(ORAZ(D3>=4,5;E3<1;F3=0);6;"nie wiem")
'Zaznaczenie dokladnego pola i wpisanie mu tekstu na niebiesko
Range("A5").Select
'zaznacza pole A5
ActiveCell.FormulaR1C1 = "BASIA"
'zmienia zawartosc pola A5 na Basia
Range("A5").Select
Selection.Font.ColorIndex = 5
'Zmienia kolor napisu na 5 ->niebieski
'Maly zoom
myZoom = ActiveWindow.Zoom - 10
If myZoom <= 400 Then
ActiveWindow.Zoom = myZoom
End If
'Data -odwolanie wzgledne
ActiveCell.FormulaR1C1 = "Dzisiaj jest"
'Wpisuje w wybranym polu Dzisiaj jest
ActiveCell.Offset(4, 0).Range("A1").Select
'Zeskakuje 4 pietra w dol, 0 w bok
ActiveCell.FormulaR1C1 = "=TODAY()"
'Wpisuje jaki jest dzien tygodnia
Selection.NumberFormat = "dddd"
Selection.Font.Bold = True
Selection.Font.ColorIndex = 41
'kolor ->41
ActiveCell.FormulaR1C1 = "10"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "10"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "10"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "10"
ActiveCell.Offset(-1, -4).Range("A1").Select
Selection.ClearContents
ActiveCell.Offset(1, 4).Range("A1").Select
'Wpisuje w 4 polach pod rzad 10
'Przeskakuje caly zaznaczony obszar o 1 pole
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Sub Wstaw_A1()
myGrid = ActiveWindow.DisplayGridlines
ActiveWindow.DisplayGridlines = Not myGrid
'wstawia i zdejmuje siatke
End Sub
n = InputBox("Wprowadź liczbę") -> wyskakuje okno z takim tekstem, wpisuje liczbe, ktora jest
od razu przypisana do n
---------
Function ZnakLiczby(WartośćWejściowa)
Select Case WartośćWejściowa
Case Is < 0: ZnakLiczby = "Ujemna"
Case 0: ZnakLiczby = "Zero"
Case Is > 0: ZnakLiczby = "Dodatnia"
End Select
End Function
-----------------
Function Celsius(Stopnie)
Celsius = (Stopnie - 32) * 5 / 9
End Function
Sub MainC()
temp = InputBox("Wprowadź temp. w st.F")
MsgBox "Temperatura wynosi" & Celsius(temp) & "stopni C"
' text wynik z funkcji
End Sub
------------------------
Sub czysc()
MsgBox "Chcę wywołać procedure Do_odwołania"
Do_odwołania -> wywolanie procedury
MsgBox "Możesz w ten sposób wywoływać procedury"
End Sub
Sub Do_odwołania()
MsgBox "Wykonana została procedura do odwołania"
End Sub
-------------
' procedura obliczająca czy możemy
' przy danych zarobkach kupić jakis
' dom czy nie możemy
Sub ObliczDom(cena As Single, zarobek As Single)
If 2.5 * zarobek <= 0.8 * cena Then
MsgBox "Nie stać cie na kupno tego domu."
Else
MsgBox "Ten dom możesz kupić."
End If
End Sub
' To sa dwa sposoby wywołania wyżej
' napisanej procedury ObliczDom
' pierwszy sposób
Sub Obs_Obl_Dom()
ObliczDom 99800, 43100
End Sub
' drugi sposób
Sub Obs_Obl_Dom1()
Call ObliczDom(380950, 49500)
End Sub
---------
Barwi tlo na czerwono lub niebiesko, w zaleznosci od +\-
Dim zakres As Object, komórka As Object
Set zakres = Application.InputBox("Zaznacz zakres", Type:=8)
zakres.Select
For Each komórka In Selection
If komórka.Value <= 0 Then _
komórka.Interior.Color = vbBlue Else _
komórka.Interior.Color = vbRed
Next komórka
--------
Function prowizja(sprzedaż, lata)
stawka1 = 0.08
stawka2 = 0.105
stawka3 = 0.12
stawka4 = 0.14
Select Case sprzedaż
Case 0 To 9999.99: prowizja = sprzedaż * stawka1
Case 10000 To 19999.99: prowizja = sprzedaż * stawka2
Case 20000 To 39999.99: prowizja = sprzedaż * stawka3
Case Is > 40000: prowizja = sprzedaż * stawka4
End Select
prowizja = prowizja * (1 + lata / 100)
End Function
==
Function obwnkata(r, n)
obwnkata = 2 * r * n * Sin(Application.Pi() / n)
End Function
Sub MsgBox_demo()
'demo odbierania info z buttons
' Dim kom,styl,tytul,pomoc,kontekst,odp,mciag
kom = "Czy kontynuować? " ' def. komunikatu
' 4= vbYesNo 16 256
'styl = 276=suma liczb jw.=4+16+256
'styl = vbYesNo + vbCritical + vbDefaultButton2 'przyciski
'styl = vbYesNo + vbCritical + vbDefaultButton2
styl = 291
tytul = "Demo MsgBox "
pomoc = "demo.hlp"
kontekst = 1000
' wyswietl komunikat
odp = MsgBox(kom, styl, tytul) ', pomoc, kontekst)
'zwracane kody liczbowe dla odp. buttons:
''snarska str.28 vbok=1,canc=2,abort=3...yes=6,no=7
MsgBox "zwrocona wartosc zalezna od nacisn. przycisku to " & odp
If odp = vbYes Then
mciag = "tak"
MsgBox "bo nacisnieto -Yes- " & mciag
ElseIf odp = vbNo Then
mciag = "nie"
MsgBox "bo nacisnieto -No- " & mciag
Else
mciag = "Anuluj"
MsgBox "bo nacisnieto - Anuluj- " & mciag
====
Function losujV(a, b)
losujV = Round(Rnd * (b - a + 1) + a, 0)
End Function
' trzeba zrobić procedurę, która by nam losowała liczby
' z przedziału od 0 do 100
============
Sub maxi()
' wyznaczam max liczbe z podanych > 0
Dim x As Integer
Dim max As Integer
Do
x = InputBox("podaj liczbe", "dane")
If x > max Then
max = x
End If
Loop While x > 0
MsgBox max, 0, "maksimum"
End Sub
=============
Sub FormZakr()
'Pyta o zakres i będzie go formatował
'Ma zaznaczyć na czerwono wszystkie liczby mniejsze od 1
Dim zakres As Object, kom As Object
Set zakres = Application.InputBox("zaznacz zakres", Type:=8)
zakres.Select
For Each kom In Selection
kom.NumberFormat = "0.0"
If kom.Value < 1 Then kom.Font.ColorIndex = 3
Next kom
End Sub
===========
Sub zad2()
Dim zakr As Range, kom As Range
Set zakr = Application.InputBox("zaznacz zakres", Type:=8)
a = 20
q = 1.1
For Each kom In zakr
kom.Value = a
a = a * q
Next kom
nazwa = InputBox("Niech poda nazwę obszaru")
ActiveWorkbook.Names.Add Name:=nazwa, RefersToR1C1:=zakr
MsgBox "sred.geom =" & Application.GeoMean(zakr)
End Sub
===
Function vkula(r As Integer) As Double
vkula = 4 / 3 * aplication.Pi() * r ^ 3
End Function
Function pkula(r As Integer) As Double
pkula = 4 * aplication.Pi() * r ^ 2
End Function
Function vstozek(r As Integer) As Double
vstozek = 1 / 3 * aplication.Pi() * r ^ 2 * h
End Function
Function pstozek(r As Integer) As Double
pstozek = aplication.Pi() * r ^ 2 + aplication.Pi() * r * Sqr(r ^ 2 + h ^ 2)
End Function