Avatar billede lunddata Nybegynder
10. marts 2007 - 10:09 Der er 19 kommentarer og
1 løsning

Slet autofigur

Kan ikke fjerne autofigurer.
Har prøvet med:
[a12:y30] = ""
og med
Range("a12:y30").delete
Hvad er løsningen?
Avatar billede supertekst Ekspert
10. marts 2007 - 12:05 #1
ActiveWorkbook.Sheets(1).Shapes(1).Delete

hvis der kun er den samme på ark 1
Avatar billede lunddata Nybegynder
10. marts 2007 - 12:31 #2
Der er indtil flere figurer i området a12:y30. Jeg vil gerne bare kunne sætte slettekode ind i eksisterende makro.
Avatar billede excelent Ekspert
10. marts 2007 - 13:15 #3
er det alle autofigurer på arket som skal slettes ?
Avatar billede lunddata Nybegynder
10. marts 2007 - 13:35 #4
Der er indtil flere figurer på arket. Nogle af figurerne må slettes, nemlig i området a12:y30
Avatar billede excelent Ekspert
10. marts 2007 - 14:19 #5
mit bedste bud lige nu

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
Avatar billede lunddata Nybegynder
10. marts 2007 - 14:26 #6
Kan jeg ikke undgå MsgBox, da jeg ønsker automatik i at alle figurer i området a12:y30 slettes?
Alle andre figurer udenfor området må ikke slettes!
Avatar billede excelent Ekspert
10. marts 2007 - 14:31 #7
det kræver at man kender navne på dem der skal slettes
Avatar billede excelent Ekspert
10. marts 2007 - 14:37 #8
denne viser navne på figurer i arket:
Sub tst()
For t = 1 To Sheets(1).Shapes.Count
MsgBox ("") & Sheets(1).Shapes(t).Name
Next
End Sub

så kan du slette det med denne ved at indsætte de rigtige navne

Sub nyMark()
Sheets("Ark1").Shapes.Range(Array("AutoShape 30", "AutoShape 31", "AutoShape 32")).Delete
End Sub
Avatar billede lunddata Nybegynder
10. marts 2007 - 14:40 #9
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.
Avatar billede excelent Ekspert
10. marts 2007 - 14:43 #10
du kunne evt. markere dem manuelt via CTRL og taste Delete
Avatar billede lunddata Nybegynder
10. marts 2007 - 14:49 #11
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)
Avatar billede lunddata Nybegynder
10. marts 2007 - 17:03 #12
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?
Avatar billede excelent Ekspert
10. marts 2007 - 18:42 #13
hvad mener du med automatikken ?
Avatar billede kabbak Professor
10. marts 2007 - 19:12 #14
Ok, jeg hopper til.

En shape har en tip og en left værdi, det har celler også, så man finder dem ned disse værdier.

Her tjekker jeg at toppen ikke er højre oppe end [A12] og at den ikke er under [Y31], samtidig må left ikker være forbi [y30]

sub Makro1()
    For Each sh In ActiveSheet.Shapes
            If sh.Top < [y31].Top And sh.Top > [A12].Top And sh.Left < [y30].Left Then sh.Delete
    Next
End Sub
Avatar billede kabbak Professor
10. marts 2007 - 19:12 #15
tip = top
Avatar billede kabbak Professor
10. marts 2007 - 19:19 #16
[Y30] skal være [Y31]
Avatar billede excelent Ekspert
10. marts 2007 - 19:24 #17
sådan kabak :-)
legede selv lidt med shape positionen, men vidste
ikke at celler også havde en sådan
Avatar billede kabbak Professor
10. marts 2007 - 19:31 #18
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
Avatar billede lunddata Nybegynder
11. marts 2007 - 10:17 #19
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...
Avatar billede kabbak Professor
11. marts 2007 - 11:10 #20
et svar ;-))
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester