Sub proba()
'inicijalizacija varijabli
Dim aktivniList As String
Dim zadnjiRed As Long
Dim zadnjaKolona As Long
Dim red As Long
Dim kolona As Long
'aktivni list
aktivniList = ActiveSheet.Name
'pronadi zadnju kolonu i zadnji red
zadnjaKolona = traziZadnjuKolonu(aktivniList)
zadnjiRed = traziZadnjiRed(aktivniList, 1)
Range("A1").Select 'pozicioniraj na A1
Dim redBackup()
Dim inputStr As String
Dim poruka As String
Dim nizCount As Long
For red = 1 To zadnjiRed
For kolona = 1 To zadnjaKolona
If Cells(red, kolona) = "?" Then
'stavljanje reda u redBackup niz
redBackup = Range(Cells(red, 1), Cells(red, zadnjaKolona)) ' .Value
For nizCount = 0 To UBound(redBackup)
poruka = poruka & redBackup(nizCount) & " " 'GRESKA
Next nizCount
ponoviUnos: inputStr = InputBox(poruka, "UNOS PODATAKA")
If StrPtr(inputStr) = 0 Then
'kliknut je prekid
MsgBox ("kliknuto je ponisti" & vbNewLine & "pokreni ponovo unos")
GoTo ponoviUnos
Else
'podaci uneseni
'provjeri ispravnost podataka
ispravno = MsgBox(poruka, vbYesNoCancel + vbApplicationModal + vbDefaultButton1, "OVO JE ISPRAVNO??")
Select Case ispravno
Case vbCancel
'ako je pritisnut Cancel, izadi iz procedure
Exit Sub
Case vbYes
'MsgBox ("PODACI SU ISPRAVNI")
'upisi podatke u red
Cells(red, kolona) = inputStr
Case vbNo
MsgBox ("PODACI NISU ISPRAVNI")
'vrati podatke i ponovi unos
Range(Cells(1, 1), Cells(1, zadnjaKolona)) = redBackup
GoTo ponoviUnos
End Select
End If
End If
Next kolona
Next red
End Sub
Function traziZadnjiRed(ImeSita As String, kolona)
Dim Zadnji As Long
Dim ws As Worksheet
Set ws = Sheets(ImeSita)
With ws
Zadnji = .Cells(.Rows.Count, kolona).End(xlUp).Row
End With
traziZadnjiRed = Zadnji
End Function
Function traziZadnjuKolonu(ImeSita As String)
Dim Zadnji As Long
Dim ws As Worksheet
Dim zadnjaCelija As Range
Set ws = Sheets(ImeSita)
Set zadnjaCelija = ws.Cells.Find(What:="*", After:=ws.Cells(1, 1), LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, MatchCase:=False)
Zadnji = zadnjaCelija.Column
traziZadnjuKolonu = Zadnji
End Function