2016-11-21 2 views
0

J'ai une macro qui fait peu de calculs dans un autre classeur et crée une nouvelle feuille où elle écrit les données finales. Dans la dernière étape, les valeurs de la nouvelle feuille doivent être copiées dans le classeur en cours d'écriture de la macro.Copie de macros Excel Coller d'une feuille à une autre

J'ai écrit la ligne suivante pour faire l'activité de collage. Mais mon problème est, chaque fois que les données sont collées à différents endroits dans le classeur. Est-il possible pour moi de coller des valeurs à partir de la colonne particulière

ThisWorkbook.Activate 
Sheets(1).Select 
ActiveSheet.Paste 

Répondre

0

Bien sûr, si c'est une plage statique:

Range("B3:D7").Select 'Or the range you need 
Selection.Copy   ' Copy that selection 
Sheets("yoursheet").Select 'Select the sheet or workbook where you will paste info 
ActiveSheet.Paste ' Paste data 

Dites-moi comment ça se passe.

Pour sélectionner la plage dans l'utilisation de la feuille de destination cet ordre:

Sheets("yoursheet").Select 
Range("A1").PasteSpecial Paste:=xlPasteValues 
+1

Vous pouvez réduire cela à une seule ligne 'Range.. ("B3: D7") Les feuilles de copie ("de yoursheet") Range (» A1 ")' bien que les références de classeurs et de feuilles soient incluses partout. – SJR

+0

@SJR n'avez-vous pas besoin de 'Destination: =' avant 'Sheets (" yoursheet ")'? – user1

+0

@ mo.h - Non, vous n'avez pas besoin de spécifier les noms de paramètres, bien que cela puisse être utile si vous voulez expliquer votre code. – SJR