13. maj 2001 - 23:13Der 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!
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
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\".
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)
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! :-)
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\'.
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
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:-)!!!
Synes godt om
Ny brugerNybegynder
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.