Avatar billede mrkr Juniormester
29. december 2008 - 10:45 Der er 11 kommentarer og
1 løsning

søge i en userform

I arket DATA har jeg en masse navne i a1:d500

kol a = nr fra 1-500
kol b = navn1
kol c = navn2

Nu kunne jeg godt tænke mig at lave en slags søgning i min userform (userform1)

Da der er mange der f.eks. hedder HANSEN vil jeg gerne have liste alle personer som hedder HANSEN i enten kolonne B eller C (det er lidt forskelligt hvor efternavnet står.)

Det bedste er at den søger løbende når jeg taster ind f.eks.
Når jeg skriver HA så kommer alle der indeholder HA
Når jeg skriver HAN så kommer alle der indeholder HAN
Men jeg ved ikke om det kan lade sig gøre.


Når jeg så har fundet det navn jeg søger og markeret det ville det være super hvis man kan få den til skrive nr. fra kolonne A i en tekstboks i userformen.
Avatar billede excelent Ekspert
29. december 2008 - 13:21 #1
Avatar billede mrkr Juniormester
29. december 2008 - 13:46 #2
JA, det er rimelig tæt på det jeg tænkte på.

Men jeg vil dog alligevel høre om den kan rettes lidt til:

1.
Kan man få den til at se bort fra om man skriver med store eller små bogstaver?

2.
Kan man få den til at søge i hele navnet, så den viser alle navne der indeholder de bogstaver jeg indtaster, og ikke kun dem som begynder med bogstaverne.
Et lidt forenklet eksempel kunne være at EFTERSKOLE kom frem uanset om man skriver EFTER eller SKOLE
Avatar billede excelent Ekspert
29. december 2008 - 13:54 #3
skal lige handle lidt ind, kikker på det senere
Avatar billede excelent Ekspert
29. december 2008 - 14:36 #4
udskift med denne
Private Sub TextBox1_Change()
Set sh1 = Sheets("Ark1")
Me.ListBox1.Clear
For t = 1 To 30
If Not IsEmpty(Me.TextBox1) Then
If InStr(sh1.Cells(t, 2), UCase(Me.TextBox1)) Or InStr(sh1.Cells(t, 3), UCase(Me.TextBox1)) Then
Me.ListBox1.AddItem Cells(t, 1) & " - " & Cells(t, 2) & " - " & Cells(t, 3)
End If
End If
Next
If Me.TextBox1 = "" Then Me.ListBox1.Clear
End Sub
Avatar billede mrkr Juniormester
29. december 2008 - 14:54 #5
Jep, nu søger den lige som den skal.
Nu er der bare en lille ting mere der driller.

Arket "DATA" som mine oplysninger ligger i, er skjult.
Hvis ikke arket (DATA/sh1) er aktivt/synligt, så henter den ikke data frem i boksen.
Den sætter kun "-".

Jeg har prøvet med "with sh1", men kan ikke få den til at virke.
Avatar billede excelent Ekspert
29. december 2008 - 14:59 #6
Me.ListBox1.AddItem sh1.Cells(t, 1) & " - " & sh1.Cells(t, 2) & " - " & sh1.Cells(t, 3)
Avatar billede mrkr Juniormester
29. december 2008 - 15:14 #7
Så var den der.

Mange tak for hjælpen.
Så skal vi bare have et svar, så du kan få point.

Jeg vil gerne have den til at reagere med noget ved dobbeltklik

Jeg har prøvet med:

Private Sub ListBox1_afterdoubleClick()

men det virker ikke.
Har du lige et fif her på falderebet.
Avatar billede excelent Ekspert
29. december 2008 - 15:25 #8
velbekom
det sidste må du lige forklar lidt nærmere
Avatar billede mrkr Juniormester
29. december 2008 - 15:37 #9
Ja, den kom jeg måske lidt hurtig om ved :-)

Du har lavet en sub som ser således ud:

Private Sub ListBox1_Click()
Me.TextBox2 = Val(Left(Me.ListBox1, 3))
Me.TextBox1.SetFocus
End Sub

Jeg vil gerne have lavet en tilsvarende sub, som køres ved at jeg dobbeltklikker på en af linjerne i i listboxen.

Jeg har forsøgt mig med følgende:

Private Sub ListBox1_afterdoubleClick()
Me.TextBox2 = Val(Left(Me.ListBox1, 3))
+....noget mere kode....
End Sub

Men det virker ikke.
Er der ikke en kommando der starter noget ved dobbletklik?
Avatar billede kabbak Professor
29. december 2008 - 15:43 #10
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Avatar billede excelent Ekspert
29. december 2008 - 15:57 #11
som kabbak foreslår

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.TextBox2 = Val(Left(Me.ListBox1, 3))
Me.TextBox1.SetFocus
End Sub
Avatar billede mrkr Juniormester
29. december 2008 - 16:50 #12
Jeps, virker lige som det skal.
Tak for det.

Nu har jeg liiiige et andet tillægsspørgsmål. :-)
Men det kommer i et nyt spørgsmål.
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