2016-08-09 9 views
0

以下のVBAコードがあります。VBAコードスローエラー:ランタイムエラー1004 Rangeクラスのオートフィルメソッドが失敗しました

Entitesシートの値に基づいて、ContributionシートにAuto Populateを設定する必要があります。

ここで、E_Countが1より大きい場合、正常に動作しています。しかしE_Count 1である、それはここでのコードの最後の行で、以下のようにエラーを投げているとき:enter image description hereランタイムエラーをレンジクラスの1004オートフィル方法は2つのエンティティと

'Autofill 
Dim MaxRow As Integer 
Dim E_Count As Integer 
Dim ii As Integer 
Dim jj As Integer 

MaxRow = Worksheets("Contribution").UsedRange.Rows.Count 
E_Count = Worksheets("Entities").UsedRange.Rows.Count - 4 

Worksheets("Contribution").Range("F5:G5").Copy Worksheets("Contribution").Range("F6:G" & MaxRow) 

Worksheets("Contribution").Range("H4:XFD1048576").Clear 

Worksheets("Contribution").Range("G4:G" & MaxRow).AutoFill Destination:=Worksheets("Contribution").Range(Worksheets("Contribution").Cells(4, 7), Worksheets("Contribution").Cells(MaxRow, 6 + E_Count)) 

エンティティシートを失敗しました[スタート]ボタンをクリックする前に

貢献シート:ここ enter image description here VBAコードは列E.件まで埋めるために、データベースの呼び出しを行うには、これは、ここでのテンプレートのようなものです。 [スタート]ボタンをクリックした後

貢献シート:ここ enter image description here

VBAコードは、[スタート]ボタンのクリック時に呼び出されています。 Entitiesで指定されたエンティティに基づいて、Contributionsシートのようにこれらのエンティティをピボットし、Usedデータ範囲がある場合は最初のセルまで100%として自動的に移入する必要があります。

ご意見はありますか?

あなたの時間を感謝します。

おかげで、 リタ

答えて

1

この
1.影響を与える多くの要因があるかもしれませんあなたがusedrows.countを使用してもよろしいですか?中の空白は数えられないことに注意してください。
2.サイズ範囲1の範囲を自動入力するとエラーが発生します。その場合はon error resume nextが動作しますが、データは1であり、自動入力しないことに注意してください.g4:g4から自動入力する例えば? - これは入力ミスでなければならない場合、それはそのように扱われるべきです。
3.セルが存在しません(エラーが表示されたときにE_countをデバッグしましたか?「-6」の場合はどうなりますか)

+0

はい使用したものです。その範囲を使用する方法また、変更しないテンプレートを提供するので、開始セルは一貫しています – Rita

+0

問題が何であるかわかりません...しかし、「次回エラー再開」問題を解決しました – Rita

+0

あなたはオートフィルではありませんサイズが0より大きくない場合は、エラーが発生したときにエラーが発生したことに注意してください。エラーが何であるかを知っていて、オートフィルをスキップする必要があることがわかっている場合にのみ、 – Sgdva

関連する問題