03. august 2005 - 11:23Der er
10 kommentarer og 1 løsning
Flytning af rækker mellem forskellige excelark, vha. VB
Hvordan koder man en makro til at flytten en række fra et excelark til et andet? Kendetegnet der indikerer om rækken skal flyttes eller ej står i kolonne a og starter i række 2. Det er et 6 cifret nummer. I det nye ark skal den flyttede række indsættes i den første tomme/ledige række
Sub Flytrække() Lr = Range("A65536").End(xlUp).Row For C = Lr To 2 Step -1 If Cells(C, 1).Value = 123456 Then ' ret til dit nummer RW = Sheets("Ark2").Range("A1").End(xlDown).Offset(1, 0).Row
Rows(C & ":" & C).Copy Sheets("Ark2").Range("A" & RW) Rows(C & ":" & C).Delete Shift:=xlUp End If Next End Sub
Sub Flytrække() Dim LR As Long, RW As Long, C As Long LR = Range("A65536").End(xlUp).Row For C = LR To 2 Step -1 If Cells(C, 1).Value = 123456 Then ' ret til dit nummer RW = Sheets("Ark2").Range("A1").End(xlDown).Offset(1, 0).Row
Rows(C & ":" & C).Copy Sheets("Ark2").Range("A" & RW) Rows(C & ":" & C).Delete Shift:=xlUp End If Next
Ok fejlen er at der skal vær data i A1 og A2 i ark2, for at blive fejel kvit.
Nu tjekker den om der er noget i A2, så skulle fejlen undgås, jeg regner med at du bruger overskrifter.
Sub Flytrække() Dim LR As Long, RW As Long, C As Long LR = Range("A65536").End(xlUp).Row For C = LR To 2 Step -1 If Cells(C, 1).Value = 123456 Then ' ret til dit nummer If Sheets("Ark2").Range("A2") <> "" Then RW = Sheets("Ark2").Range("A1").End(xlDown).Offset(1, 0).Row Else RW = 2 End If
Rows(C & ":" & C).Copy Sheets("Ark2").Range("A" & RW) Rows(C & ":" & C).Delete Shift:=xlUp End If Next End Sub
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.