02. juni 2015 - 14:03Der er
5 kommentarer og 1 løsning
VBA knap skifter nummer
Jeg har skabt en VBA kode som skaber en kopi af det ark der arbejdes i for så at lave originalen til en version uden formler.
Jeg har indsat en knap som "lukker" = kører min vba. Når den så skaber versionen uden formler skal knappen også slettes.
Desværre skifter knappen nummer - for nogen gange kan jeg bruge: ActiveSheet.Shapes.Range(Array("Button 1")).Delete
Mens andre gange (f.eks. her senest) har knappen fået nummeret 4. Kan nogen fortælle mig hvorfor?
Min løsning har hidtil været uelegant: On Error Resume Next ActiveSheet.Shapes.Range(Array("Button 1")).Delete ActiveSheet.Shapes.Range(Array("Button 2")).Delete On Error GoTo 0
Men nu hvor den får nummer fire synes jeg det begynder at blive besværligt. Der må være en logik i hvorfor den får nummer 4?
Fint med en løsning der er en smule mere elegant, så du får point. Det ændrer dog ikke på at jeg stadig finder det mærkeligt at den pludselig giver knappen et vilkårligt nummer.
I denne situation er løsningen fin, fordi den så sletter alle figurer, men jeg kunne jo nemt ende i en situation hvor jeg har brug for kun at slette nogle.
Supertekst -> Kunne du komme med et forslag til en linje som søger i figurens navn eller evt. type.
Det er ikke et tilfældigt nummer, men det næste nummer i rækken... ...hver gang du laver en kopi, så bliveer knappen tildelt det næste nummer.
Du kan let udvide min lille kode til også at kigge på knappens navn... ...sådan lige i hovedet, uden at have testet det i et kodemodul, må det blive noget i denne stil:
If ActiveSheet.Shapes(Counter).Caption = "Min Knap" Then ActiveSheet.Shapes(Counter).Delete
På den måde får du kun slettet knappen, hvis teksten på selve kanppen er "Min Knap" uanset, hvilket kodenavn knappen måtte få.
Hvis jeg bruger ctrl når jeg flyte fanen i bunden så skaber den en ny fane hvor knappen har nummer 1 stadig, men der må jo være forskel på at copy via vba og så ctrl i selve Excel.
Men tak for uddybningen.
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.