0% found this document useful (0 votes)
58 views6 pages

VBA Excel Tutorial

VBA Excel Tutorial

Uploaded by

outlaw82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views6 pages

VBA Excel Tutorial

VBA Excel Tutorial

Uploaded by

outlaw82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

VBA Excel

Short Tutorial
Ranges:

Range(“A1:A10”).Value = ”XXX”
Range(“A” & i).Value = 50
Cells(3, 1).Value = 10 (ред , колона)

Variables:

Правила за името:
 не по-дълго от 255 символа;
 без интервали и специални символи и да не започва с цифра.

Видове променливи:
Вид Размер (bytes) Диапазон
Byte 1 От 0 до 256
Integer 2 -32 768 до 32 767
Long 4 -2 147 483 648 до 2 147 483 648
Single 4
Double 8
Currency 8 -/+ 922,337,203,685,477.58087
Decimal 12 (до 28 символа след дес. запетая.)
Нецифрови:
String*n (фиксирана дължина) Дължината на стринга 1 до 65,400 символа
String Дължината + 10 bytes 0 до 2 млрд. символа
Date 8 1 януари 100 до 31 декември 9999
Boolean 2 True / False
Object 4 Embedded object
Variant (numeric) 16 Стойност не по-гол. от Double
Variant (text) Дължината + 22 bytes Като variable length string

Message boxes:

Dim message As Integer


message = MsgBox("Click Yes to Proceed, No to stop", vbYesNoCancel, "Login")

If message = 6 Then
Range("A1").Value = "You may proceed"
ActiveWorkbook.Activate
ElseIf message = 7 Then
ActiveWorkbook.Close
End If
If … Then … ElseIf … Then … End If :

If a<-10 And a>10 Then b=”OK” Оператор Значение


ElseIf a<-5 And a>5 Then b=”OK” = равно на
End If > по-голямо от
< по-малко от
>= по-голямо или равно на
<= по-малко или равно на
<> различно от
Логически оператори
And И
or или
Xor само едното да е вярно
Not да не е вярно

Цикли (Loops):

Цикъл „For”:

Dim i, j As Integer
For i = 1 To 10
For j = 1 To 5
Cells(i, j).Value = i + j
Next j
Next i

Цикъл „Do … while...”:


 Do...........Loop While
 Do until.............Loop
 Do while............Loop
 Do............Loop until

I.
II.
Dim counter As Integer
Do Dim counter As Integer
counter = counter + 1 Do Until counter = 10
........................................ counter = counter + 1
Loop While counter < 10 ......................................
Loop

III.

Dim counter As Integer


Do While counter < 10
counter = counter + 1
…...............................
Loop
За разглеждане на много случай (case):

Dim mark As Single


Dim grade As String
mark = Cells(1, 1).Value

Select Case mark


Case 0 To 20
grade = "F"
Cells(1, 2) = grade
Case 20 To 29
grade = "E"
Cells(1, 2) = grade
Case 30 To 39
grade = "D"
Cells(1, 2) = grade
Case 40 To 59
grade = "C"
Cells(1, 2) = grade
Case 60 To 79
grade = "B"
Cells(1, 2) = grade
Case 80 To 100
grade = "A"
Cells(1, 2) = grade
Case Else
grade = "Error!"
Cells(1, 2) = grade
End Select

Цветове:

 Font Colour:
cells(i,j).Font.Color=RGB(x,y,x) 'x ,y , z са в интервала от 1 до 255

 BackGround:
cells(i,j).Interior.Color=RGB(x,y,x)

Подравняване:

Range("A1:C11").Select
With Selection
.HorizontalAlignment = xlCenter
End With
Операции със стрингове:

Dim phrase as String


phrase = “Visual Basic”

1. InStr() is a function that looks for the position of a substring in a phrase.

InStr(phrase,"ual") will find the substring "ual" from "Visual Basic" and then return its position,
in this case, it is 4 from the left.

2. Left() is a function that extracts characters from a phrase, starting from the left. Left(phrase,4)
means 4 characters are extracted from the phrase, starting from the leftmost position.

3. Right() is a function that extracts characters from a phrase, starting from the Right.
Right(phrase,5) means 5 characters are extracted from the phrase, starting from the rightmost
position.

4. Mid() is a function that extracts a substring from a phrase, starting from the posiiton specified by
the second parameter in the bracket. Mid(phrase,8,3) means a substring of three characters are
extracted from the phrase, starting from the 8th position from the left

5. Len() is a function that return the length of a phrase. Len(phrase)

6. Ucase() и Lcase() функции – Upper Case и Lower Case – т.е.:


Ucase(“excel vba”) =EXCEL VBA
Lcase(“Excel VBA”) =excel vba

7. Str() и Val() функции:


The Str() converts a number to a string while the Val() converts a string to a number.

8. Chr() и Asc() фунцкии:


The Chr function returns the string that corresponds to an ASCII code
Chr(charcode) , пример: Chr(65)=A, Chr(122)=z, Chr(37)=% и т.н.
Asc(Character) , пример: Asc(“B”)=66, Asc(“&”)=38 и т.н.

Диалогови прозорци:

MsgBox(Prompt, Style Value,Title)

InputBox( ) - потребителя може да въведе текст/стойност

myMessage=InputBox(Prompt, Title, default_text, x-position, y-position)

където:
Prompt – The message displayed normally as a question asked.
Title – The title of the Input Box.
default-text – The default text that appears in the input field where users can use it as his intended
input or he may change to the message he wish to key in.
x-position and y-position – the position or the coordinate of the input box.
Пример:
Dim userMsg As String
userMsg = InputBox(“What is your message?”, “Message Entry Form”, “Enter your messge here”, 500, 700)
If userMsg <> “” Then
Label1.Caption = userMsg
Else
Label1.Caption = “No Message”
End If

Функция за случайни числа – RND: - връща десетична дроб между 0 и 1.

Range(“A3”).Value = Rnd
Int(Rnd*100) – закръгля Rnd*100 на цяло число
Математически функции:

a) Int() is the function that converts a number into an integer by truncating its decimal part and the
resulting integer is the largest integer that is smaller than the number.
For example, Int(2.4)=2, Int(4.8)=4, Int(-4.6)= -5, Int(0.032)=0 and so on.

b) Sqr() is the function that computes the square root of a number.


For example, Sqr(4)=2, Sqr(9)=2 and etc.

c) Abs() is the function that returns the absolute value of a number.


So Abs(-8) = 8 and Abs(8)= 8.

d) Exp() of a number x is the value of ex.


For example, Exp(1)=e^1 = 2.7182818284590

e) Fix() and Int are the same if the number is a positive number as both truncate the decimal part of
the number and return an integer. However, when the number is negative, it will return the smallest
integer that is larger than the number.
For example, Fix(-6.34)= -6 while Int(-6.34)=-7.

f) Round() is the function that rounds up a number to a certain number of decimal places. The
Format is Round (n, m) which means to round a number n to m decimal places.
For example, Round (7.2567, 2) =7.26

g) Log is the function that returns the natural Logarithm of a number.


For example, Log (10)= 2.302585

Форматиращи функции - Format():


-Предефинирани (зададени):
Format(i, “тип формат”)
Тип формат Обяснение Пример
General Число без запетая за хиледите Format(1,000.000, ”General Number”) =
Number 1000.000
Fixed Число без запетая на хиледите и Format(1,234.5678, ”Fixed”) = 1234.56
закръглено до втория десетичен знак
Standard Със запетая на хиледите и Format(1,234.5678, ”Fixed”) = 1,234.56
закръглено до втория десетичен знак
Currency Със валутен знак и запетая на Format(1,234.5678, ”Currency”) =
хиледите и закръглено до стотни $1,234.56
Percent Преобразува в процент, постаявя Format(0.123333333, ”Percent”) =
процентен знак и закръгля до стотни 12,33%

-Задавани от потребителя ( user-defined ):

Format(1,234.55555, “0.00”) = 1234,56


Format(0,234.3333333333, “0.0000%”) = 23,4333%

Разни други:

Коментар:
Посавя се с апостроф -> '

До къде сме:
http://excelvbatutor.com/index.php/excel-vba-lesson-11/
http://www.vbtutor.net/VBA/vba_chp11.htm

You might also like