Avatar billede Jolles Professor
25. februar 2015 - 22:48 Der er 2 kommentarer og
1 løsning

flytte mange faner på en gang

Et regneark med 48 faner. Nogle grønne, nogle blå.
De blå skal gerne flyttes til andet regneark i samme- eller ny projektmappe. Kan det gøres på en gang med noget søg-og-erstat, eller skal jeg prikke hvert enkelt ark ud med ctrl+klik, og flytte en gruppe på 5-6 ark ad gangen?

Hver fane repræsenterer et navn.
Kan jeg lave en liste over navnene på fanerne, eller skal det gøres ved håndkraft?

Det er jo to spørgsmål, så jeg gir (selvfølgelig) 60 points.
Avatar billede garrett Seniormester
26. februar 2015 - 08:23 #1
Hvis du vil kopiere/flytte baseret på hvilken farve arket 'Tab' har kan du finde farve-koden du vil arbejde med ved at åbne VBA Editoren og skrive "?Application.ActiveSheet.Tab.Color" i Immediate vinduet, så får du en kode som f.eks. 255 for rød.

Indsæt flg. makro i din workbook ret den til og kør:

Sub testColor()
    Dim srcWb As Workbook
    Dim destWb As Workbook
    Dim ws As Worksheet
   
    Set srcWb = Application.ActiveWorkbook
    Set destWb = Workbooks.Add 'Opret ny workbook
   
    For Each ws In srcWb.Worksheets
        If ws.Tab.Color = 255 Then 'Ret til ønsket farve
            ws.Copy After:=destWb.Worksheets(destWb.Worksheets.Count) 'Ændre til .Move hvis du vil flytte arket i stedet for kopiering
        End If
    Next ws

End Sub
Avatar billede Jolles Professor
26. februar 2015 - 22:55 #2
Tak for venlig assistance, men jeg er slet ikke så befaren i wb at jeg tør gå i gang med det. Jeg markerede i stedet alle de røde faner og flyttede dem. Derefter de grønne o.s.v.  Det var slet ikke så bøvlet, som først antaget.

Ved du, om jeg kan lave en liste over navnene på fanerne?
Avatar billede garrett Seniormester
27. februar 2015 - 08:31 #3
Der er ingen grund til at være bange for at lave lidt i VBA, det er ret lige til :)

Jeg ved ikke om man kan lave en liste over ark i en workbook på ander måder end ved ved VBA, men hvis du har mod på det kan flg. makro bruges. Den opretter et nyt ark som det første ark og løber så de resterende ark igennem og indsætter navnet på arket(fanen) i listen:

Sub createSheetlist()

    Dim wb As Workbook
    Dim ws As Worksheet
   
    Set wb = Application.ActiveWorkbook
    wb.Worksheets.Add Before:=wb.Worksheets(1)
    Set ws = wb.Worksheets(1)
    ws.Name = "List"
   
    Dim i As Integer
    ws.Cells(1, 1).Value = "Sheet name"
    For i = 2 To wb.Worksheets.Count
        ws.Cells(i, 1).Value = wb.Worksheets(i).Name
    Next

End Sub
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