PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAKoppla makro till drop down rullist automatiskt?Koppla makro till drop down rullist automatiskt?
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2009-02-24 19:56
 

Hej!

Jag skulle vilja skriva ett makro (Makro1) som lägger in en drop down rullist och kopplar ett annat makro (Makro2)  till den. Makro 2 skriver ut ett tal i en cell. Problemet är att jag vill koppla Makro1 till en knapp som man ska kunna trycka på flera gånger så att flera drop down lister skapas. Makro2 ska vara kopplat till alla drop down lister men för varje enskild drop down list ska talet skrivas i olika celler. Hmm, lite luddigt kanske men jag bifogar koden...

Sub Makro2(j As Single)

     Cells(j, 9).Select

     Dim i As Single
     i = ActiveCell.Value

     If i = 1 Then
       ActiveCell.Offset(0, 1).Value = ""
     ElseIf i = 2 Then
       ActiveCell.Offset(0, 1).Value = Inputbox("Ange självkostnad (kr/h)", "Annan konsult")
     ElseIf i = 3 Then
        ActiveCell.Offset(0, 1).Value = Worksheets("Konsulter").Range("$B$4").Value
     End If
End Sub

 

I Makro1 skulle jag då vilja skriva

     .OnAction = "Makro2(j)"

när drop down listen skapas för att koppla makrot till den.  Detta fungerar dock inte. Kan man göra på något annat sätt för att använda ett visst makro (Makro2) fler gånger till olika drop down lister. Eller kan man använda OM(blablabla...) i cellerna direkt i excel och ändå använda funktionen InputBox? Förstår om det var svårt att hänga med, förstår knappt själv vad jag har skrivit... :) Vore sjukt tacksam för svar! 

/Fiffi

Nytt inlägg
 2009-02-25 14:13
 

Det är inte ett speciellt smidigt sätt att lösa det på, men du borde kunna använda det som heter Caller i din knapp. Typ If Caller.Name = "ComboBox1" Then ...

Anledningen till att .OnAction = "Makro2(j)" inte funkar är att funktionen heter Makro2 och inte Makro2(j). Du måste alltså ta bort argumentet och anropa utan det. 

Det finns ganska många varianter som är bättre, men det smidigaste är nog att använda en formel istället, som du säger. Personligen är jag tveksam till om jag vill ha inputboxar bara för att jag väljer något i en lista, men då kan du lösa det med Worksheet_Change istället.

Gå in på det Worksheet du har, lägg till eventet "Change". Du får du en parameter "Target As Range". Kontrollera vilken cell det är med Target.Row och Target.Column, och om det är rätt cell, och värdet är "1", så skickar du upp inputboxen.

Nytt inlägg
 2009-03-11 20:18
 

Tusen tack!! Du är en klippa! Tog lite tid men blev himla bra till slut. Du hade rätt, Change var en mycket bättre lösning!

Hälsningar

/Fiffi

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAKoppla makro till drop down rullist automatiskt?Koppla makro till drop down rullist automatiskt?

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter