2017-12-14 7 views
0

の原因となるエラーを見つけることができません。各ワークブック、ワークシート、および変数を削除できますが、エラーは削除されません。エクセルVBA - オブジェクト変数Iが無効にされますしている</p> </blockquote> <p>を設定していない - 私は</p> <blockquote> <p>ランタイムエラー91の原因となっている以下のコードを持って「実行時エラー91」

Dim r As Long, c As Long 
    Dim snowq As Workbook, CAQual As Workbook, qsum As Worksheet, CAqsum As Worksheet 
    For r = 2 To 8 
     For c = 2 To 4 
      combinedReports.Worksheets("combinedQualities").Cells(r, c).Value = _ 
       snowq.Worksheets("qsum").Cells(r, c).Value + CAQual.Worksheets("CAqsum").Cells(r, c).Value 
     Next 
    Next 

最初のワークブックとワークシートは、コード内ではなく、同じモジュール内にあることに注意してください。

ご協力いただければ幸いです。

EDIT:

これは実際のワークブックとワークシート(S)を設定含むモジュールの上面である:

'Create new workbook 
Dim combinedReports As Workbook, combinedCsats As Worksheet, combinedQualities As Worksheet, combinedTickets As Worksheet 
Set combinedReports = Workbooks.Add 
Sheets("Sheet1").name = "Combined CSAT's" 
Set combinedCsats = combinedReports.Sheets("Combined CSAT's") 
Sheets.Add After:=ActiveSheet 
Sheets("Sheet2").name = "Combined Qualities" 
Set combinedQualities = combinedReports.Sheets("Combined Qualities") 
Sheets.Add After:=ActiveSheet 
Sheets("Sheet3").name = "Combined Tickets" 
Set combinedTickets = combinedReports.Sheets("Combined Tickets") 
+1

あなたは何かをDim''dしましたが、 'Set'はオブジェクトにありませんでした。たとえば、 'Set snowq ='で始まるコード行はどこですか? – braX

+0

これは別のワークブックなので、そこに設定されていますか?それは(他のワークブックとそれに関連するシートと共に)ここでも設定されるべきですか? – sbagnato

+0

他のワークブックに「Dim」した後は、ここで 'Set'しなければなりません。 – braX

答えて

0

コードが故障で停止するFor r = 2 to 8ループの前にこのコードを挿入オブジェクト。

Debug.Print combinedReports.Name 
Debug.Print combinedReports.Worksheets("combinedQualities").Name 
Debug.Print snowq.Name 
Debug.Print snowq.Worksheets("qsum").Name 
Debug.Print CAQual.Name 
Debug.Print CAQual.Worksheets("CAqsum").Name 
+0

それは 'Debug.Print combinedReports.Worksheets(" combinedQualities ")。Name'で壊れます。私が提供したコードの上には、テーブル(書式設定など)を作成するコードがあり、その上にワークブックとワークシートの初期作成があります。これはワークブック(combinedReports)とワークシート(combinedQualities )。私があなたに提供したコードでそれらを「再調整」する必要があると思いますか? – sbagnato

+0

ワークブック 'combinedReports'が存在するので(その名前が印刷されたことからもわかるように)、犯人は' Worksheeets( "combinedQualities") 'でなければなりません。名前を確認します。私の推測では、組み合わせの主題は質ではなく量であるかもしれないということです。しかし、テスト結果は、このシートをエラーの原因として識別します。名前で参照されるため、エラーは変数またはその宣言に含めることはできません。名前自体に含める必要があります。 – Variatus

関連する問題

 関連する問題