Excel VBA:基本行循环检查多行,在另一行返回数字

Excel VBA:基本行循环检查多行,在另一行返回数字,excel,vba,Excel,Vba,第一次使用VBA 抽象问题伪代码:我有一个3行(日期、代码、现金)的输出表。我在单元格A1中输入一个日期 我想在日期行中循环查找与A1输入日期匹配的日期。如果匹配,我想检查下一行中的单元格是否匹配“code”(“code”为1)。如果日期和代码都匹配,我需要一个变量cash将值存储在匹配列第3行的单元格中。始终只有1个匹配项,20列就足够检查了 我在“Set curCell”行上遇到“object required”错误 ****将行更改为“xx”。值2,将3个变量设置为范围。仍然得到错误**

第一次使用VBA

抽象问题伪代码:我有一个3行(日期、代码、现金)的输出表。我在单元格A1中输入一个日期

我想在日期行中循环查找与A1输入日期匹配的日期。如果匹配,我想检查下一行中的单元格是否匹配“code”(“code”为1)。如果日期和代码都匹配,我需要一个变量cash将值存储在匹配列第3行的单元格中。始终只有1个匹配项,20列就足够检查了

我在“Set curCell”行上遇到“object required”错误

****将行更改为“xx”。值2,将3个变量设置为范围。仍然得到错误**

Sub GetCash()

Dim theDate As String: theDate = Worksheets("Sheet1").Range("A1").Value

Dim curCell As Range, perCell As Range, cashCell As Range, Counter As Integer, Cash As Integer

 For Counter = 1 To 20

 Set curCell = Worksheets("Sheet1").Cells(5, Counter).Value2
 Set perCell = Worksheets("Sheet1").Cells(6, Counter).Value2
 Set cashCell = Worksheets("Sheet1").Cells(7, Counter).Value2

 If curCell = theDate And perCell = 1 Then Cash = cashCell

 Next Counter

MsgBox Cash

End Sub

curCell
是一个整数,但您试图给它一个
Cells()
范围。将该行更改为
curCell=Worksheets(“Sheet1”).Cells(5,Counter).Value2
您不需要
设置
整数
-您应该将这些单元格声明为
范围
@Marcucciboy2,因为我删除了我的注释,这意味着要改进它。是,
Cells
的第一个参数是行,第二个参数是列。@BigBen dangit Ben我已经清除了我的注释:p@Marcucciboy2这比电话标签更糟糕。