[解決済み] Excel VBA "レンジクラスのオートフィルメソッドに失敗しました"
2022-02-01 14:45:43
質問
以下のVBAコード(Excel 2007)は、エラー1004、"Autofill Method of Range Class Failed."で失敗しています。 どなたか修正方法を教えてください。
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
(注)これについてはググるなどしてみました。 かなり頻繁に出てきますが、私が見たすべての応答は、不正な範囲のアドレスに関係しており、AFAIKは私の問題ではありません。
ある方の提案で、自動入力の行を以下のように置き換えてみました。
src.Copy out
その結果、私のExcelセッションは、100%のCPUを消費する無限ループに陥り、そのまま永久に停止することになったのです。
OK、どうやら自動補充のためには、送信元が送信先範囲の一部である必要があるようです。 ということで、私のコードは以下のようになりました。
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
最後の行で同じエラー。
どうすればいいですか?
から MSDN :
宛先には、必ず のソース範囲になります。
B:U
が含まれていない
A6
となり、エラーとなります。おそらく、あなたは
out
を設定する必要があります。
A6:U6
.
カラム名だけを指定すると、そのカラムのすべての行を埋めることになり、望ましい動作とは言えません。
更新情報
以下のOPのコメントと元の回答の更新に続いて、これがトリックを行うかもしれません。
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("B1:U1")
Set src = wks.Range("B1")
src.AutoFill Destination:=out, Type:=xlFillCopy
Set out = wks.Range("B:U")
Set src = wks.Range("B1:U1")
src.AutoFill Destination:=out, Type:=xlFillCopy
AutoFill
は、一度に1つの方向(つまり水平または垂直)に制約される。1つのセルから2次元の領域を埋めるには、まずその領域の一辺に沿って線を自動充填し、次にその線を領域全体に伸ばす必要があります
書式をコピーして、(コピー元のセルが空であることを理由に)内容を消去するという特殊なケースでは、こちらの方が優れています。
Dim src As Range, out As Range, wks As Worksheet
Set wks = Sheet1
Set out = wks.Range("B:U")
Set src = wks.Range("A6")
src.Copy out
関連
-
[解決済み】VBA。ランタイム1004を取得する。オブジェクト'_Worksheet'のメソッド'Range'は、セルを使用するときに失敗しました。
-
[解決済み】Excel VBAのByRef引数の型の不一致
-
[解決済み] プロパティの無効な使用 vba クラス
-
[解決済み] VBAです。IfエラーにならないElse
-
[解決済み] エクセルVBAの検索文字列 : エラー2015
-
[解決済み] Accessからレポートを自動でメール送信
-
[解決済み] VBAでエラー時のGOTOステートメント
-
[解決済み] Excel VBA Projectのパスワードを解読する方法はありますか?
-
[解決済み】Office VBA Editorでコードのブロックにコメントやアンコメントを付ける方法
-
[解決済み】Excel VBAでSelectを使用しないようにする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Excel VBA "レンジクラスのオートフィルメソッドに失敗しました"
-
[解決済み] Redimを使用して配列のデータ型を設定する
-
[解決済み] ワークシートを1枚飛ばし、残りのワークシートを処理する
-
[解決済み] VBAです。IfエラーにならないElse
-
[解決済み] Access VBAで "Duplicate declaration in current scope "というエラーが発生する。
-
[解決済み] エクセルVBAの検索文字列 : エラー2015
-
[解決済み] VBAを使用してtxtファイルを作成し、書き込む方法
-
[解決済み] FormulaR1C1 の機能は何ですか?
-
[解決済み] VBAでIFERRORを使用する
-
[解決済み] VBAで関数から配列を返す