26. Dim scoreAs Integer, result As String
score = Range("A1").Value
If score >= 60Then result = "pass"
Range("B1").Value = result
27. Dim scoreAs Integer, result As String
score = Range("A1").Value
If score >= 60Then
result = "pass"
Else
result = "fail"
End If
Range("B1").Value = result
28. Dim i As Integer
For i = 1To 6
Cells(i, 1).Value = 100
Next i
29. Dim i As Integer, j As Integer
For i = 1To 6
For j = 1To 2
Cells(i, j).Value = 100
Next j
Next i
30. Dim c As Integer, i As Integer, j As Integer
For c = 1To 3
For i = 1To 6
For j = 1To 2
Worksheets(c).Cells(i, j).Value = 100
Next j
Next i
Next c
31. Dim i As Integer
i = 1
DoWhile i < 6
Cells(i, 1).Value = 20
i = i + 1
Loop
32. Dim i As Integer
i = 1
DoWhile Cells(i, 1).Value <> ""
Cells(i, 2).Value = Cells(i, 1).Value + 10
i = i + 1
Loop
(Τους αριθμούς στη στήλη Α τους βάλαμε
εμείς)
43. Τι θα συμβαίνει σε κάθε διαφορετική
ενέργεια πάνω σε ένα στοιχείο ελέγχου:
44. Μπορούμε να εμφανίζουμε ένα μήνυμα κατά
το άνοιγμα του βιβλίου εργασίας:
MsgBox "Good Morning"
45. Dim Films(1To 5) As String
Films(1) = "Lord of the Rings"
Films(2) = "Speed"
Films(3) = "StarWars"
Films(4) = "The Godfather"
Films(5) = "Pulp Fiction"
MsgBox Films(4)
46. Ας υποθέσουμε οτι έχουμε τις παρακάτω
τιμές σε ένα φύλλο εργασίας:
Στη συνέχεια ακολουθεί πρόγραμμαVBA
που διαβάζει τις τιμές των κελιών και τις
τοποθετεί σε πίνακα δυο διαστάσεων.
47. Dim Films(1To 5, 1To 2) As String
Dim i As Integer, j As Integer
For i = 1To 5
For j = 1To 2
Films(i, j) = Cells(i, j).Value
Next j
Next i
MsgBox Films(4, 2)
48. Η διαφορά μεταξύ των συναρτήσεων
Function και Sub είναι οτι η Function έχει τη
δυνατότητα να επιστρέφει τιμή ενώ η Sub
δεν μπορεί να επιστρέψει τιμή.
Οι συναρτήσεις Function και Sub είναι πολύ
χρήσιμες και γίνονται ακόμα χρησιμότερες
όσο μεγαλώνει το μέγεθος του
προγράμματος.
49. Function Area(x As Double, y As Double) As Double
Area = x * y
End Function
Μπορούμε να καλέσουμε τη Function ως εξής:
Dim z As Double
z = Area(3, 5) + 2
MsgBox z
50. SubArea(xAs Double, y As Double)
MsgBox x * y
End Sub
Μπορούμε να καλέσουμε τη Sub γράφοντας
την παρακάτω έκφραση σε ένα οποιοδήποτε
κελί:
Area 3, 5
54. Όταν πατήσουμε το button τότε το κείμενο
στα επιλεγμένα κελιά θα γίνει μπλε:
55. Από τα ActiveX Controls επιλέγουμε τοText
Box:
56. Στη συνέχεια εισάγουμε button, ανοίγουμε
τον editor τηςVBA και δίνουμε την εντολή:
TextBox1.Text = "Data imported successfully"
57. Όταν πατήσουμε το button τότε θα αλλάξει
το περιεχόμενο τουText Box:
Μπορούμε να βάλουμε και έν αδεύτερο
button το οποίο να "καθαρίζει" το
περιεχόμενο τουText Box:
TextBox1.Value = ""
58. Στη συνέχεια εισάγουμε ένα ActiveX Control
τύπου List Box:
Αρχικά το List Box είναι κενό:
59. Στο άνοιγμα του φύλλου εργασίας
προσθέτουμε τις παρακάτω γραμμέςVBA:
With Sheet1.ListBox1
.AddItem "Paris"
.AddItem "NewYork"
.AddItem "London"
EndWith
60. Εδώ φαίνεται η θέση που πρέπει να μπει ο
κώδικαςVBA (στο άνοιγμα του βιβλίου
εργασίας):
61. Για να συνδέσουμε το List Box με ένα κελί,
πρέπει:
Να είμαστε στη σχεδίαση
Να κάνουμε δεξί click στο ActiveX
Να επιλέξουμε "Ιδιότητες" (Properties)
Να επολέξουμε LinkedCell:
62. Τότε ότι επιλέξουμε από το List Box θα
εμφανίζεται στο συγκεκριμένο κελί:
63. Στη συνέχεια εισάγουμε ένα ActiveX Control
τύπου Combo Box:
Αρχικά το Combo Box είναι κενό:
64. Στη συνέχεια επιλέγουμε να γράψουμε
κώδικαVBA για το άνοιγμα του βιβλίου
εργασίας:
65. Γράφουμε τις παρακάτω γραμμές:
With Sheet1.ComboBox1
.AddItem "Paris"
.AddItem "NewYork"
.AddItem "London"
EndWith
66. Συνδέουμε το Combo Box με ένα κελί στο
οποίο θα εμφανίζεται η επιλογή που θα
κάνουμε:
67. Στη συνέχεια εισάγουμε ένα ActiveX Control
τύπου Check Box:
69. Γράφουμε τις παρακάτω εντολές
(σε 1 σειρά την κάθε εντολή):
If CheckBox1.Value =TrueThen
Range("D2").Value = 1
If CheckBox1.Value = FalseThen
Range("D2").Value = 0
70. Κάθ εφορά που θα αλλάζουμε την τιμή του
Check Box θα αλλάζει και το περιεχόμενο του
κελιού D2:
71. Στη συνέχεια εισάγουμε δυο ActiveX Control
τύπου Option Buttons:
72. Γράφουμε κώδικα για το πρώτο από τα
Option Buttons:
If OptionButton1.Value =TrueThen
Range("D3").Value = 10
73. Και παρόμοιο κώδικα για το δεύτερο από τα
Option Buttons:
If OptionButton2.Value =TrueThen
Range("D3").Value = 20
74. Κάθε φορά που θα επιλέγουμε κάποιο από
τα Option Buttons θα αλλάζει η τιμή του
κελιού D3:
75. Στη συνέχεια εισάγουμε ένα ActiveX Control
τύπου Spin Button:
76. Επιλέγουμε να γράφουμε κώδικα:
Range("C3").Value = SpinButton1.Value
77. Κάθε φορά που πατάμε το Spin Button
αλλάζει αυξάνουμε ή μειώνουμε την τιμή
του κελιού C3:
78. Θα μπορούσαμε να κάνουμε το ίδιο μέσα
από τις ιδιότητες του Spin Button:
79. Ανοίγουμε τον editor τηςVisual Basic και
εισάγουμε νέα φόρμα Userform
80. Στο φύλλο εργασίας εισάγουμε ένα ActiveX
button και του δίουμε την εξής εντολή:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Τότε όταν πατάμε το button θα εμφανίζεται
η φόρμα.
81. Στη φόρμα βάζουμε ένα στοιχείο ελέγχου
RefEdit control
82. Στη φόρμα βάζουμε ένα button και
γράφουμε τον κώδικα:
Private Sub CommandButton1_Click()
Dim addr As String, rng, cell As Range, minimum As Double
addr = RefEdit1.Value
Set rng = Range(addr)
minimum =WorksheetFunction.Min(rng)
For Each cell In rng
If cell.Value = minimumThen cell.Font.Color = vbRed
Next cell
End Sub
83. Στη φόρμα βάζουμε ένα button και
γράφουμε τον κώδικα:
Private Sub CommandButton2_Click()
Unload Me
End Sub
84. Όταν πατήσουμε το CommandButton1 τότε
θα γίνει μπλε το μικρότερο από τα κελιά που
επιλέξαμε με το RefEdit:
87. Στο φύλλο εργασίας εισάγουμε ένα ActiveX
button και του δίουμε την εξής εντολή:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Τότε όταν πατάμε το button θα εμφανίζεται
η φόρμα.
88. Στη φόρμα βάζουμε δυο List Box, δυοText
Box και ένα Button.
Στη φόρμα γράφουμε τις επόμενες τρεις
σελίδες κώδικαVBA:
92. Στo πρώτο button γράφουμε τις επόμενες
τρεις σελίδες κώδικαVBA:
93. Private Sub CommandButton1_Click()
Dim rates(0To 2, 0To 2) As Double,
Dim i As Integer, j As Integer
rates(0, 0) = 1
rates(0, 1) = 1.38475
rates(0, 2) = 0.87452
95. For i = 0To 2
For j = 0To 2
If ListBox1.ListIndex = i And
ListBox2.ListIndex = jThenTextBox2.Value =
TextBox1.Value * rates(i, j)
Next j
Next i
End Sub
96. Εάν επιλέξουμε δυο νομίσματα από τα δυο
List Box και γράψουμε ένα ποσό στο πρώτο
Text Box, τότ εόταν πατήσουμε το Button θα
εμφανιστεί η ισοδυναμία στο άλλοText Box