Avatar billede dane022 Seniormester
29. december 2005 - 16:46 Der er 6 kommentarer og
1 løsning

Rullemenu virker ikke ved worksheet_change

Jeg har en rullemenu hvor brugeren har nogle forskellige valgmuligheder. Rullemenuens output er til celle n21.

Jeg vil have at min worksheet_change sætning tager højde for når der vælges nyt i rullemenuen, men det sker kun når man indtaster i en celle.

Hvordan får jeg kodet en vba sætning der reagerer enten på ændringer i celle n21 eller i rullemenu57, uden at der indtastes i en celle ?
Avatar billede kabbak Professor
29. december 2005 - 16:58 #1
lav en makro til din rullemenu
Avatar billede excelent Ekspert
29. december 2005 - 17:13 #2
så dee
Avatar billede kabbak Professor
29. december 2005 - 17:24 #3
et eksempel på en makro


Public Sub Rullemenu()
    V = Sheets("Ark1").Range("N21")
    With Sheets("Ark1")
        Select Case V
        Case "1"
            .Range("b2") = 1  ' skriver i B2
        Case "2"
            .Range("b2") = 2    ' skriver i B2
        Case "3"
            .Range("b2") = 3    ' skriver i B2
        Case Else
            .Range("b2") = 0    ' skriver i B2
        End Select
    End With
End Sub
Avatar billede dane022 Seniormester
29. december 2005 - 21:54 #4
Skal dette indsættes som modul, eller skal det være kode i selve arket ?
Det skal være sådan at når værdien i n21 skifter, så skal koden aktiveres.
Værdien skifter bare ikke ved indtastning i cellen, men ved at rullemenuen ændres.
Avatar billede kabbak Professor
29. december 2005 - 22:05 #5
den skal i et modul.

Højreklik på dim rullemenu, og vælg Tildel makro , peg så på denne makro, så kører den når værdien i N21 skifter ved hjælp af rullemenuen.

Du kan putte samme kode i som du har i worksheet_change , mem du kan okke styre med Target, den fanges i stedet med V = Sheets("Ark1").Range("N21"), hvor du retter arknavnet til dit ark
Avatar billede dane022 Seniormester
30. december 2005 - 14:50 #6
Den færdige kode kom til at se lidt anderledes ud:

Public Sub Rullemenu()
    If Worksheets("forhandlingsreferat").Range("n21") = "ja" Then
    Columns("K:M").EntireColumn.Hidden = False
    Else
    Columns("K:M").EntireColumn.Hidden = True
    End If
End Sub

Men princippet er det samme, så der er point til Kabbak når du lægger et svar
Avatar billede kabbak Professor
30. december 2005 - 14:52 #7
et svar ;-))
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