Avatar billede Klaus W Guru
28. juni 2020 - 18:51 Der er 6 kommentarer og
1 løsning

Flytte alle ark til et Opsamlings ARK

Hej Excel hjælpere

Jeg ville høre om nogle kan hjælpe med en VBA-kode, der kan flytte alle ark der ligger i samme mappe over i et Opsamlings ARK. Der er mellem 39 og 45 ark der skal flyttes. Jeg vil bruge den knap jeg har lavet.
Gerne alle Ark på engang.

Hilsen og på forhånd tak
Klaus W
https://www.dropbox.com/t/3FHgWIIZqhwrTQhr
Avatar billede thomas_bk Ekspert
29. juni 2020 - 08:51 #1
Jeg skal lige være sikker, du mener alle ark i samme excel fil?
Eller mener du ark i forskellige filer i en mappe på harddisken?
Avatar billede Klaus W Guru
29. juni 2020 - 09:34 #2
Hej Thomas_bk
Ja alle Arkene jeg har lavet to filer en der hedder Opsamling Før hvor du kan se der ikke er andre faneblade i VPL 2021. Har lige rettet den de var ens :-)

Det er her jeg gerne skulle kunne trykke på min blå knap Overføre Ark. Og når jeg gør det skulle Arket gerne se ud som Filen Opsamling Efter. Jeg har kun taget nogle med der vil normalt være mellem 39 og 45 ark.

Håber det er forståelig.
https://www.dropbox.com/t/3FHgWIIZqhwrTQhr
Hilsen Klaus W
Avatar billede thomas_bk Ekspert
29. juni 2020 - 09:47 #3
Af sikkerhedsmæssige hensyn så åbner jeg ikke lige din fil.
Jeg bruger selv nedenstående kode, den kan du prøve i en test fil og efterfølgende evt koble til en knap.

Sub kopier_ark_til_oversigt()

' Kopier indholdet af worksheets til nyt sheet med navnet Oversigt

Dim ws As Worksheet
Dim oversigt As Worksheet
Dim counter As Long
Dim ans As Integer

ans = MsgBox("Arket Oversigt bliver slettet!!" & vbNewLine & vbNewLine & "Ønsker du at forsætte?", vbYesNo)
Select Case ans
Case vbYes
    GoTo runsub
Case vbNo
    Exit Sub
End Select

runsub:

Application.ScreenUpdating = False
Application.DisplayAlerts = False

counter = 0

On Error Resume Next
Worksheets("oversigt").Delete
On Error GoTo 0

Worksheets.Add().Name = "Oversigt"

Set oversigt = Worksheets("Oversigt")

For Each ws In Worksheets
  If ws.Name <> "Oversigt" Then
    ws.UsedRange.Copy oversigt.Cells(oversigt.UsedRange.Rows.Count + counter, 1)
    counter = counter + 2
  End If
Next ws

With Sheets("Oversigt")
  .Columns.AutoFit
  .Activate
End With

Application.CutCopyMode = False

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
Avatar billede Klaus W Guru
29. juni 2020 - 10:07 #4
Hej Thomas

Jeg for den desværre ikke til at køre, en fejl i Worksheets.Add().Name = "Oversigt"
Koden må helst ikke slette min opsamlings ark. Da det skal bruges.

KW
Avatar billede thomas_bk Ekspert
29. juni 2020 - 10:09 #5
I mit eksempel sletter den Oversigts arket med henblik på at lave et nyt.
Hvis du har behov for det kan du blot ændre til 'Opsamling' eller hvad du har behov for.
Avatar billede Klaus W Guru
29. juni 2020 - 17:34 #6
Hej Thomas jeg kan ikke få den til at fungere

Jeg lukker og laver et nyt spørgsmål.

Tak for din tid og hjælp

Klaus w
Avatar billede Klaus W Guru
29. juni 2020 - 18:36 #7
Hej igen Thomas
Jeg fandt en løsning på nettet.
Endnu engang tak.

Klaus w
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

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