Avatar billede HHA Professor
12. juli 2021 - 13:39 Der er 1 kommentar og
1 løsning

Overføre data fra et ark til et andet

Hejsa,

Kæmper med at få nedenstående VBA til at virke.
Jeg har 2 ark i samme Excel fil.
Her ønsker jeg at når jeg står på en rækkei arket "Samlet oversigt" og kører VBA'en, så skal den overføre den række jeg står på, til arket "Afgjorte projekter". Det kan også være hele rækken og ikke bare kolonne A til M, hvis det er nemmere.
Den skal indsætte linjen under den nederste linje, hvor der er er data i.

Håber det giver mening og at der er nogen der kan hjælpe mig videre.

Sub Overfør()
'
' Overfør Makro
'
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim LR1 As Long, LR2 As Long, LR3 As Long, LR4 As Long
       
   
    Set ws1 = Sheets("Samlet oversigt")
    Set ws2 = Sheets("Afgjorte projekter")
   
    LR3 = ws2.Range("B" & Rows.Count).End(xlUp).Row
   
    LR4 = WorksheetFunction.Sum(Range("B18:B" & LR3))
               
   
    Sheets("Samlet oversigt").Select
    Range("B" & (ActiveCell.Row)).Select
   
   
    LR2 = ActiveCell.Row
    LR1 = ws2.Range("B" & Rows.Count).End(xlUp).Row
   
       
    ws1.Unprotect
    ws2.Unprotect
   
   
    Application.ScreenUpdating = False
   
           
           
            ws2.Cells((ActiveCell.Row), "A").Value = ws1.Cells("A").Value
            ws2.Cells((ActiveCell.Row), "B").Value = ws1.Cells("B").Value
            ws2.Cells((ActiveCell.Row), "C").Value = ws1.Cells("C").Value
            ws2.Cells((ActiveCell.Row), "D").Value = ws1.Cells("D").Value
            ws2.Cells((ActiveCell.Row), "E").Value = ws1.Cells("E").Value
            ws2.Cells((ActiveCell.Row), "F").Value = ws1.Cells("F").Value
            ws2.Cells((ActiveCell.Row), "G").Value = ws1.Cells("G").Value
            ws2.Cells((ActiveCell.Row), "H").Value = ws1.Cells("H").Value
            ws2.Cells((ActiveCell.Row), "I").Value = ws1.Cells("I").Value
            ws2.Cells((ActiveCell.Row), "J").Value = ws1.Cells("J").Value
            ws2.Cells((ActiveCell.Row), "K").Value = ws1.Cells("K").Value
            ws2.Cells((ActiveCell.Row), "L").Value = ws1.Cells("L").Value
            ws2.Cells((ActiveCell.Row), "M").Value = ws1.Cells("M").Value
                     
       
            ActiveCell.Offset(1).Select

       
    Application.ScreenUpdating = True
       
    Worksheets("Standardpriser").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
    EnableSelection = xlNoRestrictions
   
    Worksheets("Kalk").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True
   
     
End Sub
Avatar billede store-morten Ekspert
13. juli 2021 - 05:55 #1
Prøv:
Sub Overfør()
    LR As Long
   
    LR = Worksheets("Afgjorte projekter").Range("A" & Rows.Count).End(xlUp).Row
 
    Worksheets("Samlet oversigt").Range("A" & ActiveCell.Row & ":M" & ActiveCell.Row).Copy _
    Destination:=Worksheets("Afgjorte projekter").Range("A" & LR + 1)
End Sub
Avatar billede HHA Professor
13. juli 2021 - 08:29 #2
Hej store-morten,

Det sgu en noget kortere programmering 👍

Hjalp mig på rette kurs.
For info, så skulle jeg tilføre DIM foran LR As Long.
Så virkede det.

Igen tusind tak 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