Sub marker() For Each Sh In Sheets("Ark1").Shapes Sh.Select valg = MsgBox(Sh.Name, vbYesNo, "Skal denne slettes ?") If valg = vbYes Then Sh.Delete Next End Sub
Det er åbenbart ikke så ligetil. Hvad navn angår ved jeg ikke hvilket navn figuren har. Jeg bruger indbygget autofigur (den samme figur (en blokpil)) 12 gange til forklaring af en tekst/udregning.
Arket er til undervisningsbrug, så derfor må brugeren ikke manuelt kunne slette pilene. Pilene bliver hentet andetsteds i arket, som brugeren ikke ser. Pilene indsættes i området a12:y30 (placering afhængig alt efter hvilken beregning brugeren ønsker at foretage. Området brugeren ser skal derfor kunne nulstilles (slettes)
Måske kan jeg komme videre, da jeg kan se at hver gang jeg skal kopiere originalautofiguren så får kopien et nyt navn fortløbende som Autofigur2, Autofigur3 osv. Originalen bibeholder naturligvis sit navn som Autofigur1 og så må jeg kunne slette kopierne ved at slette fra og med Autofigur2,Autofigur3 osv..... , .. men automatikken hvor ligger den?
Den skal måske trimmes til at passe: nu skulle alle shapes der er , eller rager ind i området blive slettet.
Sub Makro1() For Each sh In ActiveSheet.Shapes If sh.Top < [y31].Top And sh.Top + sh.Height > [A12].Top And sh.Left < [Z31].Left Then sh.Delete Next End Sub
Sådan Kabbak! Det er lige den perfekte løsning. Jeg takker mange gange for alle jeres bidrag, men det må vel være kabbak som skal have point? Et svar...
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.