[ Kozomora @ 02.08.2018. 16:14 ] @
Imam neku tabelu i želela bi da napravim makro koji bi radio sledeće:
U sheet 1 treba da se pozicionira na početak b kolone... celija b2.
Zatim da je pretraži po traženom kriterijumu koji ja unesem i prikaže mi prvi nadjeni podatak ako je polje u koloni e u istom tom redu veće od 0.
Svaka pomoć je dobro došla!
Hvala!
[ Blue82 @ 02.08.2018. 16:53 ] @
Postavi tabelu sa primerom da se vidi koji tip podataka je u kojoj koloni i objasni gde da ti prikaže nadjeni podatak i način na koji da ga prikaže (oboji, boldira, upiše u neko posebno polje i sl.)
[ Kozomora @ 02.08.2018. 17:17 ] @
Ovo je banalni primer tabele.
Makro bi trebalo da mi omogući pretragu po šifri artikla i da mi pokaže sifru artikla sa količinom većom od 0.

Hvala na pomoći!
[ Blue82 @ 02.08.2018. 17:21 ] @
Ne znam da li ti je šifra artikla broj ili string.
Evo jedan primer ako je string.

Code:
Option Explicit
Private Sub Pronadji()
    Dim brRedova As Long
    Dim i As Long
    Dim trazim As String
    
    trazim = InputBox("Unesite podatak koji se trazi", "Pretraga")
    If trazim = "" Then MsgBox ("Niste uneli podatak za traženje. Pokušajte ponovo")
    
    brRedova = Worksheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Row
    For i = 2 To brRedova
        If trazim = Sheets("Sheet1").Cells(i, 2).Value And Sheets("Sheet1").Cells(i, 5).Value > 0 Then
            Sheets("Sheet1").Cells(i, 2).Select
            Exit Sub
        End If
    Next i
    MsgBox ("Trazeni podatak nije pronadjen")

End Sub


Ako pak nije string nego broj, moraš reći u kom rasponu su ti brojevi.
Evo jedan primer pod pretpostavkom da će ti raditi sa šiframa koje su integer.

Code:
Option Explicit
Private Sub Pronadji()
    Dim brRedova As Long
    Dim i As Long
    Dim Unos As String
    Dim trazim As Integer
    
    Unos = InputBox("Unesite šifru koja se trazi", "Pretraga")
    If IsNumeric(Unos) = False Then
        Call MsgBox("Morate uneti brojcanu vrednost za pretragu. Pokusajte ponovo.", vbCritical, "Greska!")
        Exit Sub
    Else
        trazim = Int(Unos)
    End If
    
    brRedova = Worksheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Row
    For i = 2 To brRedova
        If trazim = Sheets("Sheet1").Cells(i, 2).Value And Sheets("Sheet1").Cells(i, 5).Value > 0 Then
            Sheets("Sheet1").Cells(i, 2).Select
            Exit Sub
        End If
    Next i
    Call MsgBox("Trazeni podatak nije pronadjen", vbInformation)
End Sub


[Ovu poruku je menjao Blue82 dana 02.08.2018. u 18:33 GMT+1]
[ Kozomora @ 02.08.2018. 17:59 ] @
Šifra artikla nije string jer ima i slova.
Kada sam ubacila makro u fajl ne raadi mi.
Ako ti nije teško molim te ubaci makro u moj fajl pa okači.
Nadam se da ti neće biti problem.
Hvala ti!
[ Blue82 @ 02.08.2018. 18:28 ] @
Naravno da ne radi kada u primeru koji si postavila ništa nije onako kako si prvobitno opisala.
Tebi su artikli u koloni A a rekla si da će biti u koloni B isto tako i za kolonu E koju ovde ni ne koristiš.
Primer ti je u prilogu.

Za pretragu moraš upisati tačno onako kako glasi šifra uključujući velika i mala slova. Naravno i to se može otkloniti ako smeta.
[ Kozomora @ 02.08.2018. 18:41 ] @
Jasno!
Izvini, nisam obratila pažnju.
Sada sve radi!
Hvala ti još jednom na brzoj i kvalitetnoj pomoći!
Svako dobro ti želim!