Excel VBA “remplissage automatique de la Méthode de la Classe Range a Échoué”
Suivants du code VBA (Excel 2007) échoue avec l'Erreur 1004, "remplissage automatique de la Méthode de la Classe Range a Échoué.". Quelqu'un peut-il me dire comment résoudre ce problème?
Dim src As Range, out As Range, wks As Worksheet
Set wks = Me
Set out = wks.Range("B:U")
Set src = wks.Range("A6")
src.AutoFill Destination:=out
(note: j'ai Googlé, etc. pour cela. Il arrive assez souvent, mais toutes les réponses que j'ai vu avait à voir avec la malformation de gamme, qui aborde autant que je sache, n'est pas mon problème.
À quelqu'un de la suggestion, j'ai essayé de remplacer le remplissage automatique de la ligne avec les éléments suivants:
src.Copy out
Cela a eu pour effet de jeter mon Excel session dans une apparente boucle infinie consommation à 100% de l'UC et puis, juste suspendu pour toujours.
OK, apparemment, la source doit être une partie de la plage de destination pour le remplissage automatique. Donc, mon code ressemble maintenant à ceci:
Dim src As Range, out As Range, wks As Worksheet
Set wks = Me
Set out = wks.Range("B1")
Set src = wks.Range("A6")
src.Copy out
Set out = wks.Range("B:U")
Set src = wks.Range("B1")
src.AutoFill Destination:=out, Type:=xlFillCopy
Même erreur sur la dernière ligne.
OriginalL'auteur RBarryYoung | 2009-10-07
Vous devez vous connecter pour publier un commentaire.
De MSDN:
B:U
ne contient pas deA6
et donc il y a une erreur. Je crois que vous voulez probablementout
être mis àA6:U6
.Spécifiant simplement le nom de la colonne signifie que vous voulez remplir chaque ligne de cette colonne qui est peu probable à l'souhaité behvaiour
Mise à jour
Plus à l'OP de commentaire ci-dessous et mise à jour de l'original de la réplique, ce qui pourrait faire l'affaire:
AutoFill
est limitée à une seule direction (c'est à dire à l'horizontale ou à la verticale) à la fois. Pour remplir un deux dimensions à partir d'une seule cellule, vous devez d'abord remplir automatiquement une ligne le long d'un bord de la zone puis étirez-vous que la ligne de l'ensemble de la zonePour le cas spécifique de la copie la mise en forme et d'effacer le contenu (en vertu de la cellule source étant vide), c'est mieux:
OriginalL'auteur barrowc
De faire
AutoFill
travail, vous devez vous rendre à la plage deAutoFill
plus de la source de gamme. Si le remplissage automatique de la gamme est la même que celle de la Source de gamme alors il n'y a rien à la saisie automatique dans cette gamme et, par conséquent, vous obtiendrez une erreurDonc, assurez-remplissage automatique de la gamme de plus de la plage source d'erreur et aura disparu.
OriginalL'auteur MIHIR PATEL
Si vous voulez remplissage automatique vous venez de faire quelque chose comme...
Ce serait remplissage automatique vers le bas à la plage spécifiée.
Ne sat aider?
OriginalL'auteur Dom
Ne sais pas si cela aide quelqu'un, mais j'avais besoin de quelque chose de similaire. En sélectionnant les cellules de destination œuvres;
dans mon exemple, j'ai eu de générer automatiquement une liste de noms de dossier de OA100 à OA###?, et cela a bien fonctionné.
OriginalL'auteur Richard Hilder