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!
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.