Avatar billede hencol Nybegynder
13. maj 2001 - 23:13 Der er 5 kommentarer og
2 løsninger

betingelse af makro-start

Excel2000:
jeg har en celle(\"L25\") på sheet \"xxx\", hvis denne giver værdien \"10\", skal den starte en makro(\"let\"). hvis (\"L25\") giver \"11\", skal den starte makroen(\"lav\").

noget ala:
if sheet.xxx range(\"L25\").value = 10 then run([Makro],[let])
else sheet.xxx range(\"L25\").value = 11 then run([Makro],[lav])

Har en knap der kan aktivere denne macro!
-Det skal lige siges jeg er totalt newbie i visual basic--
Håber jeg har beskrevet mit problem tilstrækkeligt!
Plzzzz ansvar somebody!! i\'m dying!
Avatar billede janvogt Praktikant
13. maj 2001 - 23:34 #1
Du kan bruge denne kode:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = \"$L$25\" Then
    Select Case Target
        Case 10
            Range(\"a1\").Value = \"Du har valgt proceduren LET\"
        Case 11
            Range(\"a1\").Value = \"Du har valgt proceduren LAV\"
    End Select
End If
End Sub

I stedet for den tekst jeg har skrevet skal du indsætte dine makroer under \"Case 10\" og \"Case 11\".

God fornøjelse.
Avatar billede hencol Nybegynder
14. maj 2001 - 00:23 #2
ehmm...
som sagt.. jeg er totlt newbie :-(
Kan ikke få scritet til at virke.. argh

Har lagt scripetet ind under en commandbutton:

Private Sub CommandButton1_Click()
If Target.Address = \"$L$25\" Then
    Select Case Target
        Case 10
            Range(\"a1\").Value = \"\'Tema.xls\'!let\"
        Case 11
            Range(\"a1\").Value = \"\'Tema.xls\'!lav\"
    End Select
End If
End Sub

Har også prøvet at ligge det ud i selve worksheetet!

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = \"$L$25\" Then
    Select Case Target
        Case 10
            Range(\"a1\").Value = \"\'Tema.xls\'!let\"
        Case 11
            Range(\"a1\").Value = \"\'Tema.xls\'!lav\"
    End Select
End If
End Sub

Har jeg skrevet kommandoen for makroen korrekt?
Hvor er det præcis scriptet skal ligge!!

Ps. forklaringer der er skåret ud i pap, er meget velkomne :o)
Avatar billede janvogt Praktikant
14. maj 2001 - 02:16 #3
Måske var det nemmest, hvis du mailede dit ark til jan_vogt_hansen@hotmail.com så skal jeg ligge dine 2 makroer ind i koden.
Ellers er jeg bange for vi kan skrive frem og tilbage længe! :-)
Avatar billede janvogt Praktikant
14. maj 2001 - 02:23 #4
Dit første forslag virker ikke. Du skal bruge Worksheet_Change, som kører hver gang der sker en ændring af celle L25.

I stedet for \'Range(\"a1\").Value = \"\'Tema.xls\'!let\"\' skal du bare skrive navnet på din makro - sandsynligvis bare \'LET\' og under Case 11 \'LAV\'.
14. maj 2001 - 07:24 #5
Hvis dine makro\'er hedder Let og Lav, så skulle denne her virke.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = \"$L$25\" Then
    Select Case Target
        Case 10
            Let
        Case 11
            Lav
    End Select
End If
End Sub

Avatar billede janvogt Praktikant
14. maj 2001 - 08:25 #6
Godt gentaget Flemming! :-)
Avatar billede hencol Nybegynder
14. maj 2001 - 13:22 #7
JUBIIIIIIIIIII______
Nu virker det!!!.. specielt tak til Flemming, der så pænt skar det ud i pap ;-)..
Det virker perfekt nu.
Havde kun et lille problem, L25 var jo en =sum, dette kunne scriptet ikke finde ud af!!, men ved at lave endnu en makro, der kopierede L25, til celle L26, med paste-special, så kun værdien blev overført til celle L26, fungerede det, derved blev denne celle blev så mit nye target!! :-D

SUPER MANGE GANGE TAK!!!. i fortjener sgu et ordentligt smækkys lige midt på munden:-)!!!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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