Avatar billede bedrettin Nybegynder
19. december 2008 - 14:23 Der er 4 kommentarer

Flytte data fra et ark til et andet

Idé: I cellen M6 er der mulighed for at vælge "5)Gennemført". Jeg skal have lavet en knap, hvor man, hver gang man trykker på den, sletter en hel række i arket "Opgavestyring" og indsætter det i arket "Gennemførte opgaver". Det gælder så kun de M6'er som er
"5)Gennemført"...

Jeg har lavet en knap med koden :

Sub Delete_Line_click()
    If Range("M6").Value = "5)Gennemført" Then
    Range("B6:M6").Select
    Selection.Copy
    Sheets("Gennemførte opgaver").Select
    Range("C4:M4").Select
    Selection.PasteSpecial Paste:=xlPasteValues
        Sheets("Opgavestyring").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    End If
End Sub

Men den virker sgu ikke rigtigt :-(
Avatar billede kabbak Professor
19. december 2008 - 19:25 #1
Hvis den kode du viser her, er fra en knap, der er på arket, så ligger koden i arkets modul.

En kode, der ligger i et arkmodul, kan ikke selecte andre ark, derfor virker koden ikke.

I VBA editoren, vælg Insert Module
Sæt denne kode ind, det er den samme, jeg har bare ændret navnet

Sub DeleteLine()
    If Range("M6").Value = "5)Gennemført" Then
    Range("B6:M6").Select
    Selection.Copy
    Sheets("Gennemførte opgaver").Select
    Range("C4:M4").Select
    Selection.PasteSpecial Paste:=xlPasteValues
        Sheets("Opgavestyring").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    End If
End Sub

ret den anden kode til

Sub Delete_Line_click()
call DeleteLine
End Sub
Avatar billede kabbak Professor
19. december 2008 - 19:33 #2
koden skal lige ændres til

Sub DeleteLine()
    If Sheets("Opgavestyring").Range("M6") = "5)Gennemført" Then
        Sheets("Opgavestyring").Range("B6:M6").Copy
        Sheets("Gennemførte opgaver").Select
        Range("C4:M4").Select
        Selection.PasteSpecial Paste:=xlPasteValues
        Sheets("Opgavestyring").Application.CutCopyMode = False
        Sheets("Opgavestyring").Range("B6:M6").ClearContents
    End If
End Sub
Avatar billede bedrettin Nybegynder
07. januar 2009 - 11:23 #3
Hej Kabbak, jeg kan stadig ikke få den til at virke.

Jeg er ret ny indenfor VBA, så det kan være jeg gører det forkert. Men jeg trykker insert modul og har sat din kode ind i den nye module. Men der sker ikke noget.
Formålet var at når man vælger gennemført ,i for ekspempel listen, i M6, skal alle dataene fra B6 til M6 flyttes til næste ark, som hedder gennemførte opgaver. Dvs. De findes ikke mere i første ark, men er overflyttet til arket gennemførte ark.

Jeg har skrevet: =HVIS(Opgavestyring!M6="5) Gennemført";Opgavestyring!B6;"") i hvert enkelt celle i arket gennemførte opgaver. Det virker tilsynladende, men den sletter ikke rækken i første ark.
Avatar billede kabbak Professor
07. januar 2009 - 21:08 #4
Ret
Sheets("Opgavestyring").Range("B6:M6").ClearContents' tømmer celler

til

Sheets("Opgavestyring").Range("B6:M6").EntireRow.Delete' sletter rækken
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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