Excel VBA "Autofill-Methode der Bereichsklasse fehlgeschlagen"

7

Der folgende VBA-Code (Excel 2007) schlägt mit Fehler 1004 fehl, "Autofill-Methode der Bereichsklasse fehlgeschlagen.". Kann mir jemand sagen, wie ich es beheben kann?

%Vor%

(Anmerkung: Ich habe Google gegoogelt, etc. dafür. Es kommt ziemlich oft vor, aber alle Antworten, die ich sah, hatten mit ungültigen Bereichsadressen zu tun, die AFAIK ist nicht mein Problem.

Auf jemandes Vorschlag habe ich versucht, die Autofill-Zeile durch die folgenden zu ersetzen:

%Vor%

Dies hatte den Effekt, dass ich meine Excel-Sitzung in eine scheinbare Endlosschleife warf, die 100% CPU verbrauchte und dann für immer hängen blieb.

OK, anscheinend muss die Quelle Teil des Zielbereichs für AutoFill sein. Also sieht mein Code jetzt so aus:

%Vor%

Gleicher Fehler in der letzten Zeile.

    
RBarryYoung 07.10.2009, 00:05
quelle

4 Antworten

18

Von MSDN :

  

Das Ziel muss die   Quellbereich.

B:U enthält nicht A6 und daher liegt ein Fehler vor. Ich glaube, dass Sie out wahrscheinlich auf A6:U6 setzen möchten.

Wenn Sie nur den Spaltennamen angeben, müssen Sie jede Zeile in dieser Spalte ausfüllen, die wahrscheinlich nicht die gewünschte Behaviour ist

Aktualisieren

Neben dem Kommentar des OPs unten und der Aktualisierung der ursprünglichen Antwort könnte dies den folgenden Trick bewirken:

%Vor%

AutoFill ist gleichzeitig auf eine einzige Richtung (d. h. horizontal oder vertikal) beschränkt. Um einen zweidimensionalen Bereich aus einer einzelnen Zelle zu füllen, müssen Sie zuerst eine Linie entlang einer Kante des Bereichs automatisch ausfüllen und dann diese Linie über den Bereich strecken

Für den speziellen Fall, dass die Formatierung kopiert und der Inhalt gelöscht wird (weil die Quellzelle leer ist), ist dies besser:

%Vor%     
barrowc 07.10.2009, 00:18
quelle
2

Um AutoFill arbeiten zu lassen, müssen Sie den Bereich von AutoFill größer als den Quellbereich machen. Wenn der AutoFill-Bereich dem Quellbereich entspricht, gibt es in diesem Bereich keinen Wert für AutoFill und Sie erhalten daher einen Fehler

  

1004: AutoFill-Methode der Range-Klasse ist fehlgeschlagen.

Machen Sie den AutoFill-Bereich also mehr als den Quellbereich und der Fehler ist verschwunden.

    
MIHIR PATEL 20.09.2013 11:05
quelle
1

Wenn Sie automatisch ausfüllen möchten, tun Sie einfach etwas wie ...

%Vor%

Dies würde sich automatisch auf den angegebenen Bereich verringern.

Hilft das?

    
Dom 07.10.2009 10:57
quelle
0

Nicht sicher, ob das irgendjemandem hilft, aber ich brauchte etwas Ähnliches. Die Auswahl der Zellen als Ziel funktioniert;

%Vor%

In meinem Beispiel musste ich automatisch eine Liste von Ordnernamen von OA100 bis OA ### erzeugen, und das funktionierte einwandfrei.

    
Richard Hilder 04.10.2013 10:05
quelle