Avatar billede Duzze5 Nybegynder
24. marts 2012 - 14:30 Der er 4 kommentarer og
1 løsning

Kopiere celle til næste ledige celle med start i bestemt celle via makro

Hej

Jeg prøver at lave en makro til at kopiere en celle i ark1 til næste ledige celle i ark2.

Det har jeg også fået lavet ved hjælp af andre spørgsmål på siden.

Det jeg ikke kan få den til er at starte i en bestemt celle.

Eksempel: Jeg vil gerne kopiere A1:F1 fra ark1 til næste ledige celle i ark2. Jeg vil dog have at den starter i fx D10:I10 første gang jeg kopier og derefter tager næste ledige celle.

Nogen som kan hjælpe med det? Jeg har brugt nedenstående til at kopiere til næste ledige celle i ark2. Men har ikke haft held med at få den til at starte et bestemt sted. 

På forhånd tak.

Sheets("Ark1").Select
Range("A1:F1").Select
Selection.Copy
Sheets("Ark2").Select
Range("B5").Activate
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Activate
ActiveSheet.Paste
Sheets("Ark1").Select
Application.CutCopyMode = False
Sheets("Ark1").Range("A1:F1").ClearContents
Avatar billede Thorp Praktikant
25. marts 2012 - 13:43 #1
Prøv denne:


Sheets("Ark1").Range("A1:F1").Copy
Sheets("Ark2").Select
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Ark1").Range("A1:F1").ClearContents
Avatar billede Duzze5 Nybegynder
25. marts 2012 - 14:45 #2
Den virker super til at kopiere til næste ledige celle og er lidt simpler en min.

Men jeg mangler stadig at jeg kan få den til at kopiere til fx B10 første gang jeg trykker på knappen. Og derefter skal den kopiere til den næste ledige celle (B11). Kan det lade sig gøre?
Avatar billede Thorp Praktikant
25. marts 2012 - 16:18 #3
Du skal deklarere en Public variabel i starten af dit kodemodul

Public FirstInstance As Boolean

dernæst kan du indsætte flg. i din kode:

Dim FirstCellRange As String

    If Not FirstInstance Then
   
        FirstCellRange = InputBox("Indsæt destinationscelle, eg. B10")
       
        FirstInstance = True
       
        Sheets("Ark1").Range("A1:F1").Copy
        Sheets("Ark2").Range(FirstCellRange).Select
        ActiveSheet.Paste
        Sheets("Ark1").Range("A1:F1").ClearContents

       
    Else
   
        Sheets("Ark1").Range("A1:F1").Copy
        Sheets("Ark2").Select
        Sheets("Ark2").Range("B65536").End(xlUp).Offset(1, 0).Select
        ActiveSheet.Paste
        Sheets("Ark1").Range("A1:F1").ClearContents
       
    End If
Avatar billede Duzze5 Nybegynder
25. marts 2012 - 20:46 #4
Jeg fandt frem til en løsning. Jeg brugte nedenstående til at sætte ind på et bestemt ark i en bestemt celle og derefter den næste celle. Samtidig sætter den også ind på et andet ark i en bestemt celle.

Mange tak for hjælpen. Sender du et svar for point.

Sub Ark8_Knap1_Klik()
Dim NR As Long
If Sheets("ark9").Range("b20") = "" Then
  NR = 20
ElseIf Sheets("ark9").Range("b21") = "" Then
  NR = 21
Else
  NR = Sheets("ark9").Range("b20").End(xlDown).Offset(1).Row
End If
If NR < 65000 Then
  Range("a3:g3").Copy Sheets("ark9").Range("b" & NR)
Else
End If
If Range("b20") = "" Then
  NR = 20
ElseIf Range("b21") = "" Then
  NR = 21
Else
  NR = Range("b20").End(xlDown).Offset(1).Row
End If
If NR < 65000 Then
  Range("a3:g3").Copy Range("b" & NR)
Else
End If
Sheets("ark8").Range("A3:g3").ClearContents
End Sub
Avatar billede Thorp Praktikant
25. marts 2012 - 22:13 #5
Velbekommen :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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