Avatar billede steensommer Praktikant
16. januar 2004 - 12:33 Der er 3 kommentarer og
1 løsning

Søgeresultat i listbox - find retur!

Hej

Jeg har vha kabbak fået lavet en søgning hvor resultatet indsættes i en listbox.

Nu ville jeg gerne retur fra listboxen til regnearket: Eks: Hvis jeg i listboxen selekterer et af søgeresultaterne vil jeg gerne ved at aktivere en kommandoknap kunne ende i den post søgningen oprindeligt kom fra (hvis det da er til at forstå).
Her er koden der indsætter søgeresultatatet i listboxen:

Sub FindEfterlysteDyr()
Dim Data As Variant ' NY
Sheets("Resultat").Range("A2:G1000").ClearContents
UserForm1.ListBox1.Clear  ' NY
Application.ScreenUpdating = False
Dim Søg As String, twb As Workbook
Set twb = ThisWorkbook
Søg = InputBox("Indtast søgetekst")
If Søg <> "" Then
With Sheets("Efterlyste dyr").Range("C3:D1000")

    Set s = .Find(Søg, LookIn:=xlValues)
    If Not s Is Nothing Then
        firstAddress = s.Address
        Do
 
                      Set s = .FindNext(s)
         
            If Left(s.Address, 2) = "$C" Then
                With Sheets("Resultat").Range("A65536").End(xlUp)
                .Offset(1, 1) = s.Value
                .Offset(1, 0) = s.Offset(0, -2).Value
                .Offset(1, 2) = s.Offset(0, 1).Value
                .Offset(1, 3) = s.Offset(0, 2).Value
                .Offset(1, 4) = s.Offset(0, 3).Value
                .Offset(1, 5) = s.Offset(0, 4).Value
                .Offset(1, 6) = s.Offset(0, 5).Value
                End With
       
        ElseIf Left(s.Address, 2) = "$D" Then
                With Sheets("Resultat").Range("A65536").End(xlUp)
                .Offset(1, 2) = s.Value
                .Offset(1, 1) = s.Offset(0, -1).Value
                .Offset(1, 0) = s.Offset(0, -3).Value
                .Offset(1, 3) = s.Offset(0, 1).Value
                .Offset(1, 4) = s.Offset(0, 2).Value
                .Offset(1, 5) = s.Offset(0, 3).Value
                .Offset(1, 6) = s.Offset(0, 4).Value
                End With
                   
            End If
         
          Loop While Not s Is Nothing And s.Address <> firstAddress
       
        A = Sheets("Resultat").Range("A65536").End(xlUp).Row 'NY
        Data = Sheets("Resultat").Range("A2:F" & A)          'NY
        Unload FrmIndsætData
        UserForm1.ListBox1.List() = Data                    'NY
       
        Else:
        MsgBox ("Ikke fundet")
        FrmIndsætData.Show
        Exit Sub
       
        End If
End With
Unload FrmIndsætData
UserForm1.Show ' NY

Exit Sub
Else
MsgBox ("Søgetekst skal indtastes")
FrmIndsætData.Show
End If
End Sub


vh Steen
Avatar billede kabbak Professor
16. januar 2004 - 14:08 #1
kikker på den i aften
Avatar billede steensommer Praktikant
16. januar 2004 - 14:09 #2
Tak!
Avatar billede steensommer Praktikant
16. januar 2004 - 14:48 #3
Hov jeg fandt ud af hvorledes det kan gøres:

Private Sub CommandButton1_Click()
Dim Søg As String, twb As Workbook, x As Long
Set twb = ThisWorkbook
         
            For i = 0 To UserForm1.ListBox1.ListCount - 1
              If ListBox1.Selected(i) Then
                If UserForm1.ListBox1.Selected(i) Then
                  x = (ListBox1.List(i, 7) + 2)
                End If
              End If
            Next i
            Unload Me
            twb.Sheets("Optagne dyr").Activate
            Range("J" & x).Offset(0, -9).Select

End Sub

Men tak for din velvilje - det er da rart at man ikke er en total-idiot
Avatar billede steensommer Praktikant
16. januar 2004 - 14:51 #4
Hov - retfærdigvis skal det siges at jeg har snydt lidt idet jeg yderst til højre oprettede et løbenummer - det gjorde det lidt lettere at finde resultatet igen :0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester