2017-07-29 374 views
2

我有两张纸。我想从第一张纸的日期范围(AK)中选取最大值,然后与第二张纸上的给定日期比较以打印新纸张和旧纸张。但我的公式不起作用,我是VBA的新手。VBA中的日期比较

我式

Set Rng = OldSheet.Range("AK2:AK" & OldLastRow) 

'Worksheet function Max returns the Max value in a range 
dblmax = Application.WorksheetFunction.Max(Rng) 

With NewSheet 

'Determine last row in col BG 
NewLastRow = .Cells(.Rows.count, "A").End(xlUp).Row 

.Range("BL2:BL" & NewLastRow).Formula = "=IF(AK2>dblmax,""NEW"",""OLD"")" 

使用的代码后,dblmax被打印为dblmax

回答

2

由于dblmaxVBA变量,在VBA对其进行评估,并在公式中串联传递到Excel:

.Range("BL2:BL" & NewLastRow).Formula = "=IF(AK2>" & dblmax & ",""NEW"",""OLD"")" 
               ^^^^^^^^^^^^^^