2017-07-29 375 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"")" 
               ^^^^^^^^^^^^^^