2017-02-07 31 views
1

以下のコードが正常に実行されています。私が変更さかわからないし、突然、私はエラーがオブジェクト変数またはWithブロック変数が設定されていませんvbaでエラーが発生しました

Range(Test(0)) = wf.CountIfs(.Rows(1).Find(Test(2), lookat:=xlWhole).EntireColumn, Test(3))

私のコードの行に「変数またはWithブロック変数が設定されていないオブジェクト」取得しています:あなたがいっぱいに忘れてしまった

Sub WBR() 

Dim Count1Criteria As Variant 
Dim Count3Criteria As Variant 
Dim Test As Variant 
Dim wf As WorksheetFunction 
Set wf = Application.WorksheetFunction 



Filter1InSummary = Array(Array("AH4", "Latency", "Pass/Fail", "Pass"), _ 
         Array("AH5", "Latency", "Pass/Fail", "Fail"), _ 
         Array("AH44", "TT", "Able to repro", "Not Tested"), _ 
         Array("AH47", "TT", "Reason for Reasssignment/Resolving", "Duplicate TT"), _ 
         Array("AH51", "TT", "Able to repro", "Yes"), _ 
         Array("AH52", "TT", "Able to repro", "No"), _ 
         Array("AH61", "Reactive", "Item Type", "Item"), _ 
         Array("AH46", "TT", "Reason for Reasssignment/Resolving", "Hardware Unavailable"), _ 
         Array("AH41", "TT", "Severity", "2"), _ 
         Array("AH62", "Reactive", "Trigger Key Name", "*App Crashes*"), _ 
         Array("AH63", "Reactive", "Trigger Key Name", "*Download*"), _ 
         Array("AH49", "TT", "Reason for Reasssignment/Resolving", "Insufficient Information"), _ 
         Array("AH15", "Latency", "Comments", "*Waived since unable to repro issue*"), _ 
         Array("AH6", "Latency", "Comments", "*Waived since unable to repro issue*"), _ 
         Array("AH16", "Latency", "Comments", "*Waived due to business reasons*"), _ 
         Array("AH18", "Non-Mhowls", "Type of testing", "Full Testing"), _ 
         Array("AH19", "Non-Mhowls", "Type of testing", "Upgrade Testing"), _ 
         Array("AH21", "DRG", "Failure testing type", "Normal Testing"), _ 
         Array("AH22", "DRG", "Failure testing type", "Deep Testing")) 




For Each Test In Filter1InSummary 
    With Worksheets(Test(1)) 
     Range(Test(0)) = wf.CountIfs(.Rows(1).Find(Test(2), lookat:=xlWhole).EntireColumn, Test(3)) 
    End With 
Next 
+0

恐らく値を見つけられませんか?あなたは助けにならないかもしれない1つのパラメタを指定しています。 – SJR

+0

1つのパラメータ?あなたは一般の言葉で話すことができますか?ここで何が間違っているのか理解するために必要な情報は何ですか? –

+0

コードをステップ実行して何が起こっているのかを確認します。値があると思っても見つからない場合は、Findのパラメータのいずれかが原因である可能性があります。 VBAのヘルプや、例えばhttps://msdn.microsoft.com/en-us/library/office/ff839746.aspxを見てください(ちょっとCountIfが必要だと思います)。 – SJR

答えて

0

エラーを修正しました。私がテストしていたテストデータには、列の1つが表示されていませんでした。

欠落しているデータを見つけて追加したら、問題は解決しました。

1

Range(Test(0))Worksheet(Test(1))に変更してください。

変更あなたのライン:

Range(Test(0)) = wf.CountIfs(.Rows(1).Find(Test(2), lookat:=xlWhole).EntireColumn, Test(3))

へ:

.Range(Test(0)).Value = wf.CountIfs(.Rows(1).Find(Test(2), lookat:=xlWhole).EntireColumn, Test(3))

:私はそれは必要はありません、Valueとして良いコーディングpractiveのを追加しました

+0

@ Shai Radoに感謝の意を表します。しかし、提案された行を追加した後でも、同じコードで同じエラーが発生します...指定されたCol/Worksheetが存在しない場合、このエラーは発生しますか? –

関連する問題