Zistilo sa, že pri zadávaní údajov sa vyskytne vysoké percento chýb - môže ísť o preklepy alebo sa zadajú údaje mimo povoleného intervalu. Aby sme obmedzili percento chýb, je vhodné využiť overenie údajov.
Do oblasti A1:D20 máme povolené zadávať len čísla 1 - 12 a čísla 20 - 40. Ak máme povolené vkladať len čísla v určitých intervaloch, nie je možné použiť bežný postup, t.j.
Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
'Definujte oblasť napr. A1:D20 na hárku (Hárok1):
'Na hárku vyberte bunky A1:D20
'Kliknite na v l o ž i ť - n á z o v -d e f i n o v a ť
'Zapíšte SledovanáObl a klik na OK
'Stlačte klávesy ALT+F11 otvorí sa editor VBA
'Klik na menu i n s e r t - module
'Napíšte nasledovný kód
Sub auto_open()
'Táto subrutína spustí procedúru Straz keď vložíme nejaký údaj
ThisWorkbook.Sheets("Hárok1").OnEntry = "Straz"
End Sub
Sub Straz()
Dim isect As Excel.Range
Set isect = Application.Intersect(Range(ActiveCell.Address), _
Range("SledovanáObl"))
vv = Val(ActiveCell.Value)
If isect Is Nothing Then
'Nerob nič (to znamená, že sme nezvolili bunku v sledovanej oblasti
Else
'ak sme však zvolili bunku v sledovanej oblasti a vložíme číslo
'väčšie ako 5 alebo menšie ako 10, alebo zadali číslo 0,
'alebo číslo väčšie ako 23 vložený údaj sa zmaže
'a zaznie zvukové upozornenie
If (vv > 5 And vv < 10 Or vv <= 0) Or (vv > 0 And vv > 23) Then
ActiveCell.Clear
ActiveCell.Select
'ActiveCell.FormulaR1C1 = "Znova!"
Selection.Interior.ColorIndex = 9
If Application.CanPlaySounds Then
Call sndPlaySound32("c:\windows\media\notify.wav", 0)
End If
MsgBox "Údaje musia byť celé čísla medzi 1 a 12 alebo medzi 20 a 40"
End If
End If
End Sub