Forfatter |
Emne Søg Emne funktioner
|
Lonny
Forum Begynder
Medlem: 24.Aug.2010
Land: DK
Status: Offline
Point: 19
|
Emne: output fra dropdown? Sendt: 25.Nov.2010 kl. 13:11 |
Hej
jeg har følgende kode:
With Range("O18:O18") Set drop3 = ActiveSheet.DropDowns.Add(.Left - 10, .Top, .Width + 10, .Height) End With With drop3 .List = initialer End With
som indlæser initalerne fra arryet "initaler" i en dropdown - og det funker fint
Nu skal jeg videre ud fra valgt initial i dropdownboksen "drop3" og har derfor lavet en sub med navnet "drop3_change()"
Jeg får ikke noget brugbart output - har prøvet både med drop3, drop3.list, drop3.value, drop3.listitem osv osv
Jeg har også forsøgt mig med ændring af subben til "drop3_click()" samt brugt
drop3.OnAction = "drop3_change"
i koden ovenfor. Ved brug af OnAction kan jeg få output fra en messagebox (msgbox("Dav")) men det er ikke nok !!!
Hvad gør jeg forkert eller rettere hvad bør jeg gøre
|
|
|
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 25.Nov.2010 kl. 14:28 |
Hej Lonny,
Hvis du sætter en 'LinkedCell' ind i din kode, vil din dropdown skrive nummeret på den valgte værdi i en celle. Nu kan du bruge en Worksheet_change() til at mærke om værdien ændrer sig.
With drop3 .List = initialer
.LinkedCell = "$O$18" End With
//Allan
|
|
Lonny
Forum Begynder
Medlem: 24.Aug.2010
Land: DK
Status: Offline
Point: 19
|
Sendt: 25.Nov.2010 kl. 15:09 |
Hej
Tak for svar
Det funker men..............
.... jeg skal ikke have informationen sat ind i arket - jeg skal bruge informationen til at komme videre via vba til at sætte anden information i arket og kan ikke hente via en celle
Frustrende at jeg kan få den ønskede information lagt ud i en celle men ikke se denne på anden vis
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 25.Nov.2010 kl. 15:25 |
Hej Lonnie,
Der er den mulighed at du skrotter tankegangen om dropdown, og i stedet vælger en Datavalidering (Den ligner en dropdown til en forveksling.)
Eksempel:
Du vil placere din dropdown i cellen o18
Læg denne i et modul:
Sub TestMakro()
Range("O18").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="Test1,Test2,Test3" End With
End Sub Sub Test1() MsgBox "Du har valgt at køre makroen Test1" End Sub Sub Test2() MsgBox "Du har valgt at køre makroen Test2" End Sub Sub Test3() MsgBox "Du har valgt at køre makroen Test3" End Sub
Og læg denne i det ark som du vil have dropdownen i:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$O$18" Then If Target.Value <> "" Then Run Target.Value End If End Sub
Kør nu makroen TestMakro
Prøv efterfølgende af ændre dropdownen i O18 og se hvad der sker.
Kan det løfte opgaven?
//Allan
|
|
Lonny
Forum Begynder
Medlem: 24.Aug.2010
Land: DK
Status: Offline
Point: 19
|
Sendt: 25.Nov.2010 kl. 15:46 |
Hej
Tak igen men...
...jeg tror at vi snakker forbi hinanden sikkert fordi jeg ikke kan formulere mit problem ordentligt
Og jeg har et lidt komplekst regneark (siger newbien)
Har du en mailadresse - så sender jeg arket ?
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 25.Nov.2010 kl. 16:14 |
Hej igen
Klik på mit navn og vælg 'Send personlig beked' så får jeg filen af den korrekte vej.
//Allan
|
|
Lonny
Forum Begynder
Medlem: 24.Aug.2010
Land: DK
Status: Offline
Point: 19
|
Sendt: 26.Nov.2010 kl. 11:17 |
Hej
Tusind tak for tilbuddet - Jeg prøvede men mit regneark er for stort (ca 700k)
Jeg har nu erstattet min dropdown med
Public Sub sæt_combo(lf, tp, wh, hg, navn, dat) Worksheets("Forside").OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=lf, Top:=tp, Width:=wh, Height:= _ hg).Select With Selection .Name = navn .ListFillRange = dat
End With End Sub
og det funker (so far)
god weekend fra Lonny
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 26.Nov.2010 kl. 11:38 |
Super Lonny, det vigtigste er at det nu virker
Kom endelig tilbage en anden gang.
//Allan
|
|
|
Lonny
Forum Begynder
Medlem: 24.Aug.2010
Land: DK
Status: Offline
Point: 19
|
Sendt: 26.Nov.2010 kl. 12:25 |
Hej
jeg benytter mig omgående af dit tilbud - du ved - ræk en lillefinger.....
Jeg har nu sat mine comboboxe hist og pist og f.eks på siden "forside".
Det funger fint med en combo_change event, når koden er sat ind på arket "forside" men det duer ikke fra modulet. Er dette muligt? Og i så fald hvad skal jeg skrive foran combo_change?
Vh Lonny
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 26.Nov.2010 kl. 13:58 |
Hej Lonny,
Uden at kende arkets opbygning, vil jeg tro du kan kalde koden i dit modul direkte fra din event.
Så i din combo_change på din forside skal du skrive:
Call NavnetPåDinMakro
Det kommer dog lidt an på opbygningen, men prøv den lige.
//Allan
|
|
|