Avatar billede hubertus Seniormester
24. oktober 2006 - 16:42 Der er 25 kommentarer og
1 løsning

lopopslag i en userform

Hvordan kan man lave et loopopslag i en huserform, således at man har 2 textboxe, hvor indholdet i den ene er afhængig af hvad der tastes i den anden textbox.
Lopopslaget tages fra 2 andre faneblade i regnearket.

Kan man paswordbeskytte indholdet af en userform. således at brugerne stadig kan ændre i f.eks. modulerne?

mvh. Hubertus
Avatar billede hubertus Seniormester
24. oktober 2006 - 20:42 #1
et alternativt løsningsforslag vil selvfølgeligt også være velkommen.
Avatar billede splokit Nybegynder
24. oktober 2006 - 21:03 #2
se om dette her løser dine tanker...
http://www.eksperten.dk/spm/728737
Avatar billede splokit Nybegynder
24. oktober 2006 - 21:16 #3
dette er kun et opslag i to textboxe med autocomplite ting.
Avatar billede hubertus Seniormester
24. oktober 2006 - 21:43 #4
Hej splokit - det var ikke helt det jeg søgte, men har noteret mig koden (spændende). Det jeg skal bruger er, at man i textbox1 skriver et id, der efterfølgende henter en tekst ind i textbox2, som svarer til id'en i textbox1.
Avatar billede kabbak Professor
24. oktober 2006 - 23:49 #5
Private Sub CommandButton1_Click()
Dim MyRange As Range

Set MyRange = Worksheets("Ark1").Range("A1:B10")
TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), MyRange, 2, False)
Set MyRange = Nothing
End Sub


Jeg går ud fra at der er tal at du taster ind i TextBox1, derfor Val(TextBox1.Text).

Hvis ikke, så fjern val
Avatar billede hubertus Seniormester
25. oktober 2006 - 06:41 #6
Hej Kabbak
Det var et stykke af vejen men ikke helt. Det drejer sig om at få følgende formel:
=HVIS(E5=0;"";LOPSLAG(E5;postnr!$A$1:$C$1240;3;FALSK)) konverteret til Vba kode. postnr er blot et eksempel.
Avatar billede kabbak Professor
25. oktober 2006 - 09:03 #7
Private Sub CommandButton1_Click()
Dim MyRange As Range

Set MyRange = Worksheets("postnr").Range("A1:C1240")
if not Val(TextBox1.Text)= 0 then
TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), MyRange, 3, False)
else
TextBox2.Text =""
end if
Set MyRange = Nothing
End Sub
Avatar billede hubertus Seniormester
25. oktober 2006 - 11:13 #8
Hej Kabbak
Din rutine virker fint, hvis den kombineres med en knap, men da brugerne skal indtaste mange andre oplysninger i userformen, så vil det være super, hvis man kunne trikke rutinen, ved at forlade textbox1. Kan det lade sig gøre?
mvh. Hubertus
Avatar billede hubertus Seniormester
25. oktober 2006 - 11:17 #9
Kan man passwordbeskytte userformen? uden at brugerne udelukkes fra at ændre i et modul (de skal have mulighed for at ændre i egen kode).
Avatar billede kabbak Professor
25. oktober 2006 - 14:54 #10
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim MyRange As Range

Set MyRange = Worksheets("postnr").Range("A1:C1240")
If Not Val(TextBox1.Text) = 0 Then
TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), MyRange, 3, False)
Else
TextBox2.Text = ""
End If
Set MyRange = Nothing

End Sub


Password kan sættes på, ved at højreklikke på userform iconet ude til venstre, Properties > Protektion fanen
Avatar billede hubertus Seniormester
25. oktober 2006 - 15:59 #11
Hej igen.
Nu virker den således at hvis jeg kun har de to textboxe, så virker den med tabulatoren, men der er flere textboxe, og tabulatoren kommer aldrig i textbox2, altså der hvor bynavnet står. Kan du laven den således at rutinen trigges når textbox1 forlades?

ang. passwordet, så virker det som om at det er enten er det hele beskyttet eller også er ingenting beskyttet - er det korrekt opfattet. Jeg ville egentlig bare have userformen beskyttet, hvis det er muligt.

mvh. Hubertus
Avatar billede kabbak Professor
25. oktober 2006 - 18:59 #12
den skulle  trikke nåt Textbox1 forlades
Avatar billede hubertus Seniormester
25. oktober 2006 - 19:05 #13
Du har ret, har lige testet den i en simpel userform. Jeg må derfor have en fejl i min egen kode. Tusinde tak for hjælpen :o)
Lægger du et svar?
Avatar billede kabbak Professor
25. oktober 2006 - 21:27 #14
et svar ;-))
Avatar billede kabbak Professor
25. oktober 2006 - 21:38 #15
tak for point
Avatar billede hubertus Seniormester
26. oktober 2006 - 06:26 #16
selv tak - du har ærligt fortjent dem :-)

måske du kan svare på et lille tillægsspørgsmål? Kan man forhindre brugeren i at skrive i den tekstbox2?
Avatar billede kabbak Professor
26. oktober 2006 - 08:45 #17
I Properties, sættes Locked til true
Avatar billede hubertus Seniormester
26. oktober 2006 - 10:19 #18
super - tak for hjælpen

mvh. Hubertus
Avatar billede hubertus Seniormester
30. november 2006 - 21:18 #19
Hej igen, jeg har et lille spørgsmål til ovennævnte. kan koden laves således at bynavnet indsættes når de 4 cifre er indtastet. dvs. før der trykkes enter eller tab. Jeg har set at bak i et andet spørgsmål har en løsning, jeg kan bare ikke få den indbygget i ovennævnte kode.
http://www.eksperten.dk/spm/747502  Kan du hjælpe? Skal jeg oprette et nyt spørgsmål? eller hvordan gøres det i praksis? :o)
Avatar billede kabbak Professor
30. november 2006 - 23:25 #20
Så skal du tilføje en function til din kode

Private Sub TextBox1_Change()
    If Len(TextBox1.Value) = 4 Then
    TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), MyRange, 3, False)
    End If
End Sub
Avatar billede hubertus Seniormester
01. december 2006 - 06:20 #21
Kan du forklare lidt nærmere hvordan koden skal se ud?
Avatar billede kabbak Professor
01. december 2006 - 09:33 #22
du skal bare sætte denne del ind i din userform
Private Sub TextBox1_Change()
If Len(TextBox1.Value) = 4 Then
' her skal den linie som du har i den anden også være.
' den ser ca. sådan ud
TextBox2.Text = Application.WorksheetFunction.VLookup(Val(TextBox1.Text), MyRange, 3, False)


End If
End Sub
Avatar billede hubertus Seniormester
01. december 2006 - 17:27 #23
selvfølgelig - du har ret - det virker fint - fik bare blandet det sammen med en rutine. Hvordan med point? kan det klares i denne eller via et andet spørgsmål?
Avatar billede hubertus Seniormester
01. december 2006 - 17:31 #24
Kunne jeg logge dig til at se på spørgsmålet om sortering i delt ark? http://www.eksperten.dk/spm/747856
Avatar billede kabbak Professor
01. december 2006 - 20:15 #25
hubertus, hvad har du med richter1 at gøre, du har vel ikke 2 forskellige brugernavne. ?

Jeg ved heller ikke svaret, da jeg aldrig har arbejdet med delt projektmappe.
Avatar billede hubertus Seniormester
02. december 2006 - 07:10 #26
Jeg har en udfordring der ligner problemstillingen lidt, og har ikke kunnet finde ret meget om delte mapper, hverken i litteraturen eller her på eksperten - desværre.
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