Avatar billede mrkr Juniormester
29. december 2008 - 16:55 Der er 7 kommentarer og
1 løsning

søge i formular- FORTSAT

Jeg har fået løst et problem i nedenstående spørgsmål.

http://www.eksperten.dk/spm/857929

Nu har jeg så en tilføjelse til denne kode.
Når jeg har tastet en tekst ind og den viser mulighederne i LISTBOXEN så vil jeg meget gerne kunne aktivere en makro med ENTER

1.
Hvis der kun er en i listboxen vil det være super hvis jeg bare kan nøjes med at trykke enter uden at skulle klikke på listbocen først

2.
Hvis der er flere muligheder i listboxen vil jeg gerne kunne vælge ved at "markere" en linje og Trykke enter.

Makroen der skal køre er:
sub vedtrykpåenter
Me.TextBox2 = Val(Left(Me.ListBox1, 3))
call vispdf
end sub
Avatar billede excelent Ekspert
29. december 2008 - 18:42 #1
Private Sub ListBox1_Click()
Me.TextBox2 = Val(Left(Me.ListBox1, 3))
Me.TextBox1.SetFocus
Call vispdf
End Sub

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 sh1.Cells(t, 1) & " - " & sh1.Cells(t, 2) & " - " & sh1.Cells(t, 3)
End If
End If
Next
If Me.ListBox1.ListCount = 1 Then Call vispdf
If Me.TextBox1 = "" Then Me.ListBox1.Clear
End Sub
Avatar billede excelent Ekspert
29. december 2008 - 18:58 #2
glemte at sige at vispdf køres hvis kun et valg i listbox
samt ellers når du klikker (enkelt klik) på et valg
Avatar billede mrkr Juniormester
30. december 2008 - 14:09 #3
Det virker lige efter hensigten.
Mange tak for hjælpen.
Smider du et svar, så har jeg points.
Avatar billede mrkr Juniormester
30. december 2008 - 14:53 #4
aaarrrgghh. Der var alligevel noget der drillede

Når man har fået indsnævret søgningen til et navn vil jeg meget gerne have indsat nummeret i textbox 2.
Det kan jeg ikke rigtig få til at virke.
Jeg har indsat det sidste af koden nedenfor.


....
....
....
If Me.ListBox1.ListCount = 1 Then
Me.textbox2 = Val(Left(Me.ListBox1, 3))
Me.textbox2.SetFocus
call vis pdf
End If
If Me.TextBox1 = "" Then Me.ListBox1.Clear
   
End Sub
Avatar billede mrkr Juniormester
30. december 2008 - 14:57 #5
og så er der faktisk også en lille detalje mere.
Det sker at der er et nr. i kolonne A der er 4 cifre: Her går det så galt.

Det sker også at der er nogle der har 2 cifre, men det gør ikke noget pt , da den sætter de 3 første cifre ind.

Kan man få den til at tjekke om der er 2, 3 eller 4 cifre så man altid får det korrekte nr med over?
Avatar billede excelent Ekspert
30. december 2008 - 16:57 #6
Prøv om dette hjælper det er muligt at problem med tallet ikke er helt på plads, men så kikker jeg på det senere
Der er 2 versioner af Private Sub TextBox1_Change()
den nye arbejder i hukommelsen, det kunne måske sætte lidt mere fart på.
De fungerer helt en så vælg den du synes husk blot Option base 1 hvis du vælger den nye

Option Base 1

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

Private Sub TextBox1_Change()
'Set sh1 = Sheets("Ark1")
'Me.ListBox1.Clear
'For t = 1 To 30
'If Not IsEmpty(Me.TextBox1) Then
'If InStr(UCase(sh1.Cells(t, 2)), UCase(Me.TextBox1)) Or InStr(UCase(sh1.Cells(t, 3)), UCase(Me.TextBox1)) Then
'Me.ListBox1.AddItem sh1.Cells(t, 1) & " - " & sh1.Cells(t, 2) & " - " & sh1.Cells(t, 3)
'tt = t
'End If
'End If
'Next
'If Me.ListBox1.ListCount = 1 Then Me.TextBox2 = Cells(tt, 1): Call tst
'If Me.TextBox1 = "" Then Me.ListBox1.Clear
'-----------------
Dim x As Variant

Set sh1 = Sheets("Ark1")
x = sh1.Range("A1:C500")

Me.ListBox1.Clear
For t = 1 To UBound(x)
If Not IsEmpty(Me.TextBox1) Then
If InStr(UCase(x(t, 2)), UCase(Me.TextBox1)) Or InStr(UCase(x(t, 3)), UCase(Me.TextBox1)) Then
Me.ListBox1.AddItem x(t, 1) & " - " & x(t, 2) & " - " & x(t, 3)
tt = t
End If
End If
Next
If Me.ListBox1.ListCount = 1 Then Me.TextBox2 = x(tt, 1): Call tst
If Me.TextBox1 = "" Then Me.ListBox1.Clear


End Sub
Avatar billede mrkr Juniormester
30. december 2008 - 19:40 #7
Så var den der.
Den indsætter både 2, 3, og 4 cifre, som ønsket.
Mange tak for hjælpen.

Så mangler vi bare et svar :-)
Avatar billede excelent Ekspert
30. december 2008 - 20:22 #8
velbekom
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