2015-03-02 254 views
1

我有几张数据,其中需要根据其他列中的条件找到最高和最低日期。 我已经定义了这些其他列的范围,并希望插入公式与VBA,但我不断收到438错误“对象不支持此属性或方法。VBA - 插入maxIF公式

什么是错的任何线索,下面是提取我的码 - 当我调试它是在式问题是

Dim emp As Range 
Set emp = Range("R5", ActiveCell.End(xlDown)) 
Dim epidno As Range 
Set epidno = Range("B5").End(xlDown) 
Dim jobtype As Range 
Set jobtype = Range("D5", Selection.End(xlDown)) 
Dim jobdate As Range 
Set jobdate = Range("J5", Selection.End(xlDown)) 

Dim datecell As Range 
For Each datecell In Range("R5", ActiveCell.End(xlDown).End(xlDown).End(xlUp)) 
datecell.Offset(0, 1).Formula.Cell.FormulaR1C1 = "=MIN(IF(" + jobtype.adress + " =""TECHNICIAN"",IF(" + epidno.adress + "=RC[-1]," + jobdate.adress + ",""""),""""))" 

回答

1
"=MIN(IF(" + jobtype.address + " =""TECHNICIAN"",IF(" + epidno.address + "=RC[-1]," + jobdate.address + ",""""),""""))" 

有一系列的没有.adress属性,有一个.Address属性(2 D'秒,2秒的)

+0

感谢。 ,那有点令人尴尬。 - 但是现在我在同一行上得到一个对象所需的错误:/ – rasmusb 2015-03-03 08:19:07

+0

我看到了这个,但我认为你可能已经在代码中清除了它。您需要清楚地将代码第一部分的范围分配给所需的工作表,并正确实例化它们。因此,首先在Dim之后添加一行,以表示Set emp =新范围(ect)。然后改变你当前的设置行来说:Set emp = Thisworkbook.Sheets('somesheetname).Range('your_range_info) – cronos2546 2015-03-03 21:04:00