Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pretraga celija iz forme i ispis rezultata u formi

[es] :: Office :: Excel :: Pretraga celija iz forme i ispis rezultata u formi

[ Pregleda: 1603 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dusantod
BMC System Engineer
Seavus DOO
BGD

Član broj: 46885
Poruke: 164
*.dynamic.sbb.rs.

ICQ: 640997805
Sajt: www.moj-kuvar.in.rs


+1 Profil

icon Pretraga celija iz forme i ispis rezultata u formi06.03.2012. u 13:12 - pre 147 meseci
Zdravo,

poceo sam da pravim fajl u kome bi se pravile fakture. Fajl je prilicno jednostavan i potrebno je da ima opcije za pretragu celija, unos datuma, brojanje vec napravljenih dokumenta i jos neke manje funkcije.
Za sada mi je problem da pokrenem formu koja bi pretrazivala sheet=podaci po delu reci iz textbox-a i rezultate pretrage ispisivala u listbox-u u istoj formi.
evo jednog dela koda koji sam pokusao da napisem ali nisam daleko stigao:

Code:

ZA UserForm2:

Sub SearchFor(Data As Range, Item As String, Info1 As Long, Info2 As Long, Info3 As Date, Info4 As Date)

Dim rngFind As Range
Dim strFirstAddress As String
Dim lngIndex As Long

With Data
Set rngFind = .Find(Item, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngFind Is Nothing Then
strFirstAddress = rngFind.Address
Do

lisSearchresults.AddItem rngFind.Offset(0, Info1)
lngIndex = lisSearchresults.ListCount - 1
lisSearchresults.List(lngIndex, 1) = rngFind.Offset(0, Info2)

'ListBox1.AddItem rngFind.Offset(0, Info3)
'ListBox1.List(lngIndex, 1) = rngFind.Offset(0, Info4)

Set rngFind = .FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address <> strFirstAddress
End If

If rngFind Is Nothing Then
MsgBox ("Nije pronadjen ni jedan klijent. Molim pokusajte ponovo!")

End If

End With

End Sub

'dugme za pretragu
Private Sub cmdSearchPolicy_Click()

Dim shtData As Worksheet
Dim rngSearch As Range


Set shtData = Worksheets("Podaci")
'Select Case TabStrip1.Value
'Case 0
'Set shtData = Worksheets("Podaci")
'Case 1
'Set shtData = Worksheets("Data2")
'Case 2
'Set shtData = Worksheets("Sheet3")
'Case Else
'Exit Sub
'End Select


Set rngSearch = shtData.Range("B:B")
'lisSearchresults.Clear

SearchFor rngSearch, txtSearchPolicy.Text, 1, 2, 3, 4

End Sub

'ciscenje rezultata
Private Sub CommandButton1_Click()
'lisSearchresults.Clear
ListBox1.Clear
Me.txtSearchPolicy.Value = ""
End Sub


Da li neko zna kako da uradim ovo?
nije mi potrebno celo resenje vec samo nagovestaj ili smernica


Unapred zahvalan
Dusan
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
*.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Pretraga celija iz forme i ispis rezultata u formi06.03.2012. u 16:06 - pre 147 meseci
Evo jednog primitivnog primera. Podaci su na sheetu "AAA", a radi se na sheetu "RAD".
Vidi da li ti odgovara, pa prilagodi makro svojim poterbama.
Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

dusantod
BMC System Engineer
Seavus DOO
BGD

Član broj: 46885
Poruke: 164
*.dynamic.sbb.rs.

ICQ: 640997805
Sajt: www.moj-kuvar.in.rs


+1 Profil

icon Re: Pretraga celija iz forme i ispis rezultata u formi07.03.2012. u 08:32 - pre 147 meseci
Odlicno je! :) Hvala!!!

Sada mogu da dodam opciju da se izabrani red iz liste rezultata prosledi u celiju, sto sada nije tesko zahvaljujuci tvojoj pomoci.


Pozdrav
Dusan
 
Odgovor na temu

dusantod
BMC System Engineer
Seavus DOO
BGD

Član broj: 46885
Poruke: 164
*.dynamic.sbb.rs.

ICQ: 640997805
Sajt: www.moj-kuvar.in.rs


+1 Profil

icon Re: Pretraga celija iz forme i ispis rezultata u formi12.03.2012. u 13:02 - pre 147 meseci
Zaglavio sam sa .Find funcijom u vba.

Imam formu koja prikazuje podatke u listbox-u i Add, Edit, Save i Delete dugmice. Ispod je kod koji sam zamislio da se pokrene kada se klikne na Edit dugme. Treba da se iz selektovanog reda u listboxu povezu podaci sa textbox-ovima u formi da bi se izmenili podaci. Zatim treba kliknuti na Save i snimiti nove podatke iz textbox-ova u radni list u istom redu i naravno update listbox-a kako bi prikazivao tacne podatke.

Postoji problem da se u koloni A ponavljaju poadci ali svaki red je u celosti jedinstven. A:ime, B:prezime, C:pozicija, D:kompanija itd.
Ne znam kako da podesim .Find da prvo trazi po koloni A a zatim da trazi po koloni B dok ne ostane jedan red u rezultatu. Tako dobijeni red mogao bih da selektujem i da menjam prema potrebama.
Ipod je deo koda koji radi na Edit tasteru

Code:

Dim Employee As Variant
    Dim Name As String, Name2 As String
    Dim firstaddress As String
    Dim SourceRange As Excel.Range
    Dim Val1 As String, Val2 As String, Val3 As String, Val4 As String
    
    
    If (ListBox1.RowSource <> vbNullString) Then
        'Get Range that the ListBox is bound to
        Set SourceRange = Range(ListBox1.RowSource)
    Else

        Set SourceRange = Range("Sheet1!A2:D2")
        Exit Sub
    End If
    
    'pretraga za selektovanim redom iz listboxa u sheet-u radi ispravke reda
    Employee = Empty

    With ActiveSheet.Range("a2:b500")
            Name = ListBox1.Value
            Name2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value

            'red ispod treba da pronadje Name i Name2 u sheet-u i da se za Employe selektuje ceo red
            Set Employee = .Find(what:=Name, LookIn:=xlValues)

            If Not Employee Is Nothing Then Employee.Rows.EntireRow.Select Else Exit Sub
      End With
      Set Employee = Nothing


 
Odgovor na temu

[es] :: Office :: Excel :: Pretraga celija iz forme i ispis rezultata u formi

[ Pregleda: 1603 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.