Avatar billede ups34 Nybegynder
10. april 2012 - 19:03 Der er 4 kommentarer og
1 løsning

Læse navnet på et område i en celle

Hej alle

Jeg har en Userform der åbner med en række lister i forskellige combobokse. Jeg vil gerne om jeg kan lave en kode, der kigger i to forskellige tekstbokse, og så kommer op med navnet på den liste (område) jeg ønsker comboboksen skal åbne med.

Koden i et excel ark vil være nogenlunde som denne:
=HVIS(A97=A45;VOPSLAG(A98;B42:X43;2;FALSK))

Altså en formel der forholder sig til 5 forskellige scenarier, i første hvis,(her er kun vist den første mulighed) og derefter bruger Vopslag til at finde navnet på det område der skal være Rowsource.

Jeg har prøvet i arket at lave en liste der læser resultatet, men listen indeholder kun den ene celle, altså læser ikke cellen som et muligt navn på et område.

Hele koden skal laves i VBA, og startes under Userform Activate

PFT
I plejer jo at løse også det umulige ;-)

MVH
Ups
Avatar billede store-morten Ekspert
10. april 2012 - 22:39 #1
Koden i et excel ark vil være nogenlunde som denne:
=HVIS(A97=A45;VOPSLAG(A98;B42:X43;2;FALSK))

Returnere den område eller liste navn?
Avatar billede ups34 Nybegynder
11. april 2012 - 16:52 #2
Hej Store Morten

Ideen er at Vopslaget returnere med navnet på området (altså navnet på listen)

MVH
Ups
Avatar billede store-morten Ekspert
11. april 2012 - 18:47 #3
Lister i:

A1:A10 "Liste1"
B1:B10 "Liste2"

Hent fra navngivet område i Ark
Private Sub UserForm_Activate()
ComboBox1.RowSource = "Liste1"
ComboBox2.RowSource = "Liste2"
End Sub


Hent fra navngivet område i Ark fra en celle med Listnavn
Vopslaget i D1 og D2
Private Sub UserForm_Activate()
ComboBox1.RowSource = Range("D1").Value
ComboBox2.RowSource = Range("D2").Value
End Sub
Avatar billede ups34 Nybegynder
16. april 2012 - 19:15 #4
Hej Morten

Sry jeg ikke har fået svaret, men jeg har lige været væk.

Jeg har selv fået løst opgaven.

Jeg har føgt at skrive formlen i VBA så du måske kan se hvad jeg mener

With lstmodkarm
If lstdørkasse.Text = "Dørkasse type DS 1" Then
.RowSource = Evaluate("Hlookup(""" & Me.lstkarme.Text & """,Ark1!B42:X43,2,False)")
lstmodkarm.Value = Worksheets("Manuel hængslet").Range("H3")
End If
End With

Jeg kan nu bruge forskellige lister, der bliver defineret ud fra 1. dørkasse type, og 2. hvilken type karm. Lidt smart, så slipper jeg for at skrive rigtig mange IF formler

Mange tak for dine bidrag
Avatar billede ups34 Nybegynder
20. april 2012 - 15:40 #5
Jeg lukker spørgsmålet
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

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