2017-02-08 20 views
1

次のコードがあります。しかしそれは私にExcel 2013の型不一致エラーを与えていますが、Excel 2010で正常に動作します。タイプの不一致エラー - Excel VBA

For Each dateRow In ThisWorkbook.Sheets(1).Range("G8:G153").Cells 
    cEndDate = DateValue(dateRow) 
    dateArray = Split(cEndDate , "-") 
    Day = CInt(dateArray(0)) 'I get the error here 
    '<- more code -> 
Next 

Excel 2010でエラーは発生していません。

+0

エラーの前の 'Debug.Print dateArray(0)'を使用してください。 – R3uK

+0

@ R3ukそれは '' 31 "' –

答えて

2

それがキーワードであるので、あなたは(実際には関数!)、変数としてDayを使うべきではありません

、さらにより多くの、それはあなたが車輪の再発明のではなく、使用されなければならない機能です! ;)

Dim vDay as Integer 
Dim vMonth as Integer 
Dim vYear as Integer 
Dim dateRow as Range 
Dim cEndDate as Date 

For Each dateRow In ThisWorkbook.Sheets(1).Range("G8:G153").Cells 
    cEndDate = DateValue(dateRow.Value) 
    vDay = Day(cEndDate) 
    vMonth = Month(cEndDate) 
    vYear = Year(cEndDate) 


    '<- more code -> 
Next dateRow 
関連する問題