Avatar billede Butterfly Ekspert
30. december 2020 - 09:26 Der er 2 kommentarer og
1 løsning

Kopier data fra flere ark til Ark1

Hej
Jeg har et regneark med 10-14 faner.
Jeg skal kopier alle faner hen på Ark1, bruger denne makro og den virker fint. Men findes der en måde hvorpå jeg kan få den til at kører på x-antal faner?
Sub KopiTilArk1()
    Range("A11").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+MID(R7C2,4,6)"
    Selection.AutoFill Destination:=Range("A11:A" & Range("B" & Rows.Count).End(xlUp).Row)
    Range("A11:A" & Range("B" & Rows.Count).End(xlUp).Row).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("11:11").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Ark1").Select
    Range("StartCell").Select
'  Gå til sidste skrevne linje
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
End Sub
Avatar billede kim1a Ekspert
30. december 2020 - 15:30 #1
Det kan være jeg er uskarp som følge af julens megen mad, men jeg synes ikke det ser ud til at den vælger faner i det du har kopieret ind. Jeg tænker der er en
For 1 to 14
Next
løkke omkring det?
Avatar billede store-morten Ekspert
30. december 2020 - 19:00 #2
Prøv i en kopi:
Sub KopiAlleTilArk1()
    Dim ws As Worksheet
    Dim bytAns As Long
   
    For Each ws In ActiveWorkbook.Worksheets
   
'Springer Ark1 over.
If ws.Name = "Ark1" Then GoTo næste
    ws.Activate
   
    'Spørger før kopiering, kan evt slettes. (Husk: Else og End if, nederst)
    bytAns = MsgBox("Du har anmodet om at kopierer ark: " & _
    ws.Name & _
    vbCrLf & "Ønsker du det?", vbYesNo + vbQuestion, _
    "Bekræft kopiering.")
 
    If bytAns = vbYes Then

    Range("A11").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=+MID(R7C2,4,6)"
    Selection.AutoFill Destination:=Range("A11:A" & Range("B" & Rows.Count).End(xlUp).Row)
    Range("A11:A" & Range("B" & Rows.Count).End(xlUp).Row).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("11:11").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Ark1").Select
    Range("StartCell").Select
    'Gå til sidste skrevne linje
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

    Else
    End If
   
næste:
    Next ws
End Sub
Avatar billede Butterfly Ekspert
05. januar 2021 - 13:06 #3
Mange tak for hjælpen store-morten
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