Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dropdown lister med 2 felter i en celle!

84 views
Skip to first unread message

jan charington klein

unread,
Apr 14, 2011, 8:41:51 AM4/14/11
to
Jeg har styr på liste funktion i datavaliderings værktøjet i excel
2007. Kan nemt vælge en´celle med liste funktion udfra en tabel og
bruge værdien til videre beregning i evt. en formel eller lign...

men når jeg gerne vil have en tekst tilknyttet cellen i listeform som
ved valg af data fra en specifik varmefylde data på vand v. 20C = 4.18
og gerne vil have BÅDE teksten "vand v. 20C" OG data " 4.18" til at
stå i liste med dropdown pilen så går det galt! mener man kan gøre i
design værktøjet i access men kan ikke få det til at lykkedes her, ved
godt at jeg bare kan skrive både tekst og data i sammen celle men så
kan jeg jo ikke bruge data i beregning i en formel.... :-(

Altså i kort version: jeg har en celle i et ark hvor jeg med
datavalidering har liste funktion får listet ned de forskellige tal
som er præsenteret i den tilknyttede kolonne A i tabellen.

Kolonne B indeholder teksten som beskriver hvad tallene i kolonne A er
- Jeg vil have både kolonne A og B vist i dropdown listen når jeg
vælger pilen i cellen men cellen´s værdi skal kun indeholde data fra
kolonne A!!!!

Har været rigtig meget rundt med google uden held og som sagt ved jeg
det kan lade sig gøre i formular værktøjet i access men håber også at
det kan virke i excel og helst i "ARK" visning ok ikke i en
formular :-)

På forhånd tak

Jan Klein

Energiteknolog studerende v. KEA

Jorgen Bondesen

unread,
Apr 14, 2011, 2:33:59 PM4/14/11
to
Hej Jan

Kolonne C er sammenlægning af B + A: =B2&" ¤ "&A2
Området er din "liste" til Datavalidering.

Denne makro placeres i arket med datavalideringen.
Så skulle der gerne virke. 8-)
Lad mig hører om det virker.


Option Explicit

Const delim As String = "¤"

'----------------------------------------------------------
' Procedure : Worksheet_Change
' Date : 20110414
' Author : Joergen Bondesen
' Modifyed by :
' Purpose : Has Cell Validation
' Note : Placed in Sheet
' Column A: Digit
' Column B: Text
' Column C: =B2&" ¤ "&A2
' Range with B+A is List
'----------------------------------------------------------
'
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count <> 1 Then End

On Error Resume Next
Dim myValidationType As Long
myValidationType = -1
On Error Resume Next
myValidationType = Target.Validation.Type
On Error GoTo 0

Dim HasValidation As Boolean
HasValidation = CBool(myValidationType > -1)

If HasValidation Then
Dim Spl As Variant
Spl = Split(Target.Value, delim)

Application.EnableEvents = False
Target.Value = Trim(Spl(1))
Application.EnableEvents = True
End If
End Sub


--
Med venlig hilsen
Jørgen Bondesen


"jan charington klein" <janc...@gmail.com> skrev i en meddelelse
news:8d681f74-d4fc-4436...@m7g2000vbq.googlegroups.com...

jan charington klein

unread,
Apr 19, 2011, 5:08:38 AM4/19/11
to
> "jan charington klein" <janckl...@gmail.com> skrev i en meddelelsenews:8d681f74-d4fc-4436...@m7g2000vbq.googlegroups.com...

> Jeg har styr på liste funktion i datavaliderings værktøjet i excel
> 2007. Kan nemt vælge en´celle med liste funktion udfra en tabel og
> bruge værdien til videre beregning i evt. en formel eller lign...
>
> men når jeg gerne vil have en tekst tilknyttet cellen i listeform som
> ved valg af data fra en specifik varmefylde data på vand v. 20C = 4.18
> og gerne vil have BÅDE teksten "vand v. 20C" OG data " 4.18" til at
> stå i liste med dropdown pilen så går det galt! mener man kan gøre i
> design værktøjet i access men kan ikke få det til at lykkedes her, ved
> godt at jeg bare kan skrive både tekst og data i sammen celle men så
> kan jeg jo ikke bruge data i beregning i en formel.... :-(
>
> Altså i kort version: jeg har en celle i et ark hvor jeg med
> datavalidering har liste funktion får listet ned de forskellige tal
> som er præsenteret i den tilknyttede kolonne A i tabellen.
>
> Kolonne B indeholder teksten som beskriver hvad tallene i kolonne A er
> - Jeg vil have både kolonne A og B vist i dropdown listen når jeg
> vælger pilen i cellen men cellen´s værdi skal kun indeholde data fra
> kolonne A!!!!
>
> Har været rigtig meget rundt med google uden held og som sagt ved jeg
> det kan lade sig gøre i formular værktøjet i access men håber også at
> det kan virke i excel og helst i "ARK" visning ok ikke i en
> formular :-)
>
> På forhånd tak
>
> Jan Klein
>
> Energiteknolog studerende v. KEA

Hej Jørgen...

Mange tak for dit svar, har prøvet at indsætte koden i VBA (office
2007) men uden held? har flirtet lidt med makroer/VBA i office 97/2000
men meget er lavet om siden og min viden er
meget rusten omkring VBA i de nyere versioner :-) Måske jeg kunne
lokke dig til at give et hint eller 2 til hvordan jeg importere din
fine kode i selve arket?

Det virker som om jeg er ude i noget meget specielt med mit ønske når
det gælder excel, har lige efterprøvet det i access og der er det
meget hurtigt og nemt i formular visning... Vil du mene
at jeg heller skulle bruge MS access (database istedet for excel,
regneark) til min opgave?

På forhånd tak og rigtig god påske

Jorgen Bondesen

unread,
Apr 19, 2011, 4:00:03 PM4/19/11
to

"jan charington klein" <janc...@gmail.com> skrev i en meddelelse
news:3118d4d0-57c9-4617...@o26g2000vby.googlegroups.com...

Hej Jørgen...


Hej Jan

Uanset om du beslutter dig for Access eller ej, så synes jeg vi skal få
Excel til at virke.
Personligt bruger jeg Excel til det yderste, men der er situationer hvor
Access er langt at foretrække.

Jeg vender tilbage hurtigst mulig med en vejledning til Excel.

Jorgen Bondesen

unread,
Apr 21, 2011, 4:27:36 AM4/21/11
to
Hej Jan

Her er et eksempel: http://gratisupload.dk/fillisten/
Adgangskode er: jb
Filnavn er: Drop Down, 2 cells to 1.xls
Direkte sti: http://gupl.dk/59004/


I kolonne A har du tal.
I kolonne B har du tekst.
I række 1 har du evt. overskrifter.

Disse 2 kolonner ønsker du vist i en Drop Down (Datavalidering), men det er
kun tallet du ønsker i cellen.

For at få tekst og tal i en DropDown skal vi lægge de 2 kolonner sammen i
kolonne C og det sker med følgende formel:


Kolonne C er sammenlægning af B + A: =B2&" ¤ "&A2

= er for at starte en formel
B2 er cellereferencen
&" ¤ " er B2 værdi efterfulgt af 2 mellemrum, ¤ efterfulgt af 2
mellemrum.
¤ bruger jeg til at finde tallet i makroen. Kan selvfølgelig udskiftes i
formel og makro, dog skal tegnet være unikt.
&A2 betyder at vi tilføjer værdien fra A2 efter de 2 sidste mellemrum.

Nu kopierer du formlen så langt ned det er relevant, f. eks til C32.

Dvs. område C2:C32 er din "liste" til Datavalidering.

Nu vil du få både tekst og tal.

Derfor skal vi fjerne teksten, når vi vælger fra DropDown menuen.

På det faneblad hvor du har Datavalideringen skal du højreklikke og vælge
'Vis Programkode'

Her skal nedenstående makro ned til <<<<< placeres.
Att.: Det er en revideret makro.


Option Explicit

Const delim As String = "¤"

'----------------------------------------------------------
' Procedure : Worksheet_Change
' Date : 20110414, 20110420


' Author : Joergen Bondesen
' Modifyed by :
' Purpose : Has Cell Validation
' Note : Placed in Sheet
' Column A: Digit
' Column B: Text
' Column C: =B2&" ¤ "&A2
' Range with B+A is List
'----------------------------------------------------------
'
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count <> 1 Then End

On Error Resume Next
Dim myValidationType As Long
myValidationType = -1
On Error Resume Next
myValidationType = Target.Validation.Type
On Error GoTo 0

Dim HasValidation As Boolean
HasValidation = CBool(myValidationType > -1)

If HasValidation Then
Dim Spl As Variant
Spl = Split(Target.Value, delim)

On Error Resume Next
Application.EnableEvents = False
Target.Value = Trim(Spl(1)) * 1
Application.EnableEvents = True
On Error Resume Next
End If
End Sub


'<<<<<<<<<<<<<<<<<<<<<<<<


Option Explicit

'----------------------------------------------------------
' Procedure : HelpMe
' Date : 20110420


' Author : Joergen Bondesen
' Modifyed by :

' Purpose : Just in case
' Note : Run this if macro in sheet not is running
' Place in module
'----------------------------------------------------------
'
Sub HelpMe()
Application.EnableEvents = True
End Sub


--
Med venlig hilsen
Jørgen Bondesen


>

jan charington klein

unread,
Apr 27, 2011, 2:33:54 AM4/27/11
to

Hej Jørgen...

HURRA, det virker sgu... SUPER, nu kan vi komme videre :-)

Jeg skal nok vise dig hvordan det samlede resultat ser ud, mange,
mange tak for hjælpen

Jan klein og andre håbefulde energiteknologi studerende :-)

Jorgen Bondesen

unread,
Apr 27, 2011, 3:30:00 AM4/27/11
to
Hej Jan.

Det glæder mig at høre, at du har få det til at virke.
Velbekomme og tak for tilbagemeldingen.
Du er velkommen til at sende det færdige regneark direkt til mig.

--
Med venlig hilsen
Jørgen Bondesen

"jan charington klein" <janc...@gmail.com> skrev i en meddelelse

news:c1288daa-bcbb-4bd8...@b9g2000yqd.googlegroups.com...

0 new messages