31. august 2016 - 15:44Der er
8 kommentarer og 2 løsninger
hvorfor driller VBA koder, de eksisterende funktioner
Hej Jeg har brugt hjælpen her inde meget. først til formler men nu ofte VBA. Jeg støder dog på Problemer med løsningerne. Tit for jeg kode som løser mit Problem / spørgsmål. Men efterfølgende finder jeg ud af efter som jeg får behov, at nogle eksisterende (genveje ctrl. .... el. generel- funktioner (fortryd osv.) forsvinder.
Hvad er nu det for noget, hvad er det der sker, er det mig der har gjort noget forkert, eller glemt noget. eller er det helt "Normalt" ?
Jeg har oplevet det senest med denne "type" - Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Når man bruger vba kan man ikke fortryde, så den går retur til før man kørte vba'en. Du skal i så fald gemme og åbne på ny. Hvis du arbejder med en makro og skal teste løbende, kan der være en ide i at have en "moder"fane og så starte din makro med at kopiere denne over til ny og bruge denne.
Jeg tror det er nemmere at have en kopi af arket gemt, måske du kan sætte en save funktion op for hver event makroen kører? Altså hvis du har en makro der f.eks. checker efter om der står A i række A når arket ændres, så kan du sætte den op til at gemme arket umiddelbart efter den checker - evt. med en dato-/tidsangivelse bagefter så du ganske vist får mange versioner af arket, men altid kan finde retur til et udgangspunkt der var ok.
En fortryd makro bliver svær, for den skal egentlig gøre nøjagtig det modsatte af hvad din makro gør.
Du har nok brug for en større ekspert til at hjælpe med det.
Umiddelbart tænker jeg at du måske kunne lave makroen til at køre f.eks. ved at gemme eller en genvejstast, fremfor at køre så snart du laver en ændring i arket.
Undskyld mit sidste spørgsmål, som nok er menignsløst.
Har du kørt en makro forsvinder muligheden for at fortryde, både det makroen gør, men også alle andre handlinger, du har foretaget før du afspillede makroen. At lave en "fortryd" makro vil ikke ændre dette, da du jo skal afspille denne, og så kan du alligevel ikke fortryde. Her hjælper det desværre heller ikke at lukke uden at gemme og så åbne igen, for når du lukker "glemmes" de handlinger, der er sket jo.
Det burde dog være muligt at fortryde handlinger, du har udført efter afspilningen af makroen.
Her er der nok ikke nogen løsning, da det er sådan Excel er "skruet sammen".
Hej jkrons Knappen "tilbage" eller genvejen ctrl+z forsvinder ikke :) de kan bare ikke bruges.
i mit tilfælde handler det om at jeg har en makro der konstant køre. Når jeg vælger en celle med pil eller mussen så har jeg en makro der markere tydeligt, hvilken celle jeg er i, og i øvrigt også markere tydeligt hvilken række og kolonne. Så altså min Fortryd er konstant afskåret fordi min sidste handling altid er at køre en makro :)
Ja, og det kan der ikke gøres noget ved. Så snart en makro kører eller er kørt, kan der ikke fortrydes og da din makro kører på selection_change hændelsen, kører den som du siger, hver gang, du flytter markøren.
Det er simpelthen den måde Excel virker på.
Man kan lave kode, der kopierer regnearket lige inden makroen køres og så genskaber det, makroen har ændret, men undo-stakken forud for makrohandlingen vil gå tabt.
Ja den er nok ikke så smart i et regneark der er åbent til at ændre i når der arbejdes :) Men tak for forklaringerne :)
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.