Copier une plage d'une feuille de calcul à l'autre en utilisant des cellules de la propriété
Je suis en train de copier une plage d'une feuille de calcul à l'autre. J'ai plusieurs plages que je voudrais copier et coller sur différents points de la nouvelle feuille de calcul (par exemple, je veux coller la première gamme D3, gamme à E12, et ainsi de suite), je suis donc en utilisant la propriété cellules pour décrire la gamme. Cependant, pour une raison quelconque, quand je décris la gamme que je veux coller à la nouvelle feuille de calcul en utilisant le format des cellules, plutôt que de juste les mettre dans une chaîne, il ne fonctionne pas.
Cette ligne de code fonctionne:
Sheets("Sheet1").Range(Cells(2, 3), Cells(10, 3)).Copy _
Destination:=Sheets("Sheet2").Range("D3")
mais celle-ci n':
Sheets("Sheet1").Range(Cells(2, 3), Cells(10, 3)).Copy _
Destination:=Sheets("Sheet2").Range(Cells(3,4))
Quand je lance la dernière ligne de code, j'obtiens "erreur d'Exécution 1004: définie par l'application ou de l'objet défini à l'erreur". Pourquoi est-ce et comment puis-je résoudre ce problème?
OriginalL'auteur Bobby Saget | 2015-05-27
Vous devez vous connecter pour publier un commentaire.
Vous spécifiez le parent de Gamme, mais pas de Cellules. En bref, vous essayez de définir une plage de cellules dans la feuille Sheet1 qui contiennent les cellules sur la feuille Feuil2 et/ou vice-versa.
La préfixation de la période (aka
.
ou arrêt complet) signifie que le parent de.Range
et.Cells
est défini avec la ...Fin Avec la déclaration. Pour raccourcir le code nécessaire de bien définir la plage sur la Feuille2, je lui ai donné une feuille de calcul type de variable et utilisé pour montrer le parent à la fois de la plage et les cellules.FWIW,
ws2.Range(ws2.Cells(3,4))
est redondante.ws2.Cells(3,4)
est suffisant.++ bien expliqué 🙂 Vous êtes sur le feu aujourd'hui 🙂
OriginalL'auteur