Avatar billede Henry Poulsen Mester
12. marts 2009 - 18:06 Der er 2 kommentarer og
1 løsning

ActiveWindow.SelectedSheets.Delete

Koden i overskriften har jeg sammen med et array brugt til at slette kendt antal ark i en fil.
Mit regneark tilføjes nu et nyt ark hver gang det åbnes Det kan komme til at indeholde ca. 20 ark ialt. Filen gemmes af VBA kode. Men jeg har også brug for en fil alene indeholdende det nyeste ark. Jeg kan flytte arket til første plads i rækken, men hvordan definerer jeg, at de øvrige skal sletts? (antal varierer ved hver kørsel)
Avatar billede excelent Ekspert
12. marts 2009 - 18:49 #1
Dene sletter alle Ark på nær det længst til venstre

Sub ArkValg()
Dim myArr() As Long
Dim tal, sh, Antal

Antal = ActiveWorkbook.Worksheets.Count
ReDim myArr(1 To Antal)

For sh = 2 To Antal
  tal = tal + 1
  myArr(tal) = sh
Next

ReDim Preserve myArr(1 To tal)
Sheets(myArr).Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End Sub
Avatar billede Henry Poulsen Mester
12. marts 2009 - 20:52 #2
Tak for forslaget. Det virker perfekt.
Jeg vil ikke påstå at jeg ved hvorfor, men det kan jeg leve med.
Tak for hjælpen. Får jeg lige et svar fra dig?
Avatar billede excelent Ekspert
12. marts 2009 - 21:16 #3
velbekom
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