Copie de Plusieurs colonnes dans Excel-Vba
Salut, je suis en train de copier plusieurs colonnes à partir d'un classeur à l'autre, et ci-dessous le code que j'ai copié l'un et besoin d'aide pour rendre le code plus optimisé que je ne veux pas écrire le même code pour toutes les colonnes. ci-dessous est le code.
Sub Copymc()
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks.Open("H:\testing\demo\test2.xlsx")
Set y = Workbooks.Open("H:\testing\demo\test1.xlsx")
Dim LastRow As Long
Dim NextRow As Long
' determine where the data ends on Column B Sheet1
x.Worksheets("Sheet1").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRow = ActiveCell.Row
' copy the data from Column B in Sheet 1
Range("A2:A" & LastRow).Copy
' Determine where to add the new data in Column C Sheet 2
y.Worksheets("Sheet1").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Offset(1, 0).Select
NextRow = ActiveCell.Row
' paste the data to Column C Sheet 2
y.Worksheets("Sheet1").Range("A" & NextRow).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").Select
End Sub
J'ai essayé de mettre toutes les colonnes dans la gamme énoncé de problème mais j'ai trouvé comment faire pour coller? Comment puis-je le faire pour plusieurs colonnes sans répéter le code? Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Disons que vous voulez copier les colonnes A-D:
J'essaie d'éviter les fonctions copier et coller autant que possible. Pour contourner ce problème, je voudrais faire une boucle par toutes les valeurs dans la colonne et de les déplacer à votre autre classeur en tant que tel:
Application.CutCopyMode = False
avant de le copier/coller pour effacer le presse-papiers? Ou est-ce seulement désélectionner une plage copiée dans Excel?