2012-07-11 4 views
0

Je suis nouveau à VBA, donc je suis probablement en train de demander quelque chose de vraiment basique - désolé! J'ai une feuille de calcul avec une série d'enregistrements que je veux déplacer dans une autre feuille de calcul appelée "Archive de juillet". J'utilise ce code et je sais que cela va écraser les cellules de destination dans "July Archive". Mais j'obtiens une erreur en disant que l'opération pasteValue a échoué.Coller des données dans une nouvelle feuille de calcul

En outre, comment puis-je ajouter les cellules plutôt que d'écraser. J'ai essayé PasteAppend mais obtenir une erreur dire que ce n'est pas supporté par l'objet.

Sub Selectweeklyreport() 

    ActiveSheet.Range("a16", ActiveSheet.Range("f16").End(xlDown)).Cut 
    ActiveSheet.Goto ("July Archive") 
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ 
    False, Transpose:=False 

End Sub 

Répondre

1

Comme ça?

Sub Selectweeklyreport() 
    Dim wsI As Worksheet, wsO As Worksheet 
    Dim lRow As Long 

    '~~> Replace this with the relevant sheet name 
    Set wsI = Sheets("Sheet1") 
    Set wsO = Sheets("July Archive") 

    With wsI 
     '~~> Get the last Row in Sheet1 
     lRow = .Range("F" & .Rows.Count).End(xlUp).Row 

     '~~> Copy the range from Sheet1 
     .Range("A16:F" & lRow).Copy 'and not .Cut???? 

     '~~> Get the next available row in July Archive 
     lRow = wsO.Range("A" & wsO.Rows.Count).End(xlUp).Row + 1 

     '~~> Paste Special Values 
     wsO.Range("A" & lRow).PasteSpecial Paste:=xlValues, _ 
     Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
    End With 
End Sub 
Questions connexes