我想获得存储在单元格中的日期的年份值。例如,存在于单元格B35中的日期值3/25/2012,我正在使用Year(Range("B35"))
。结果它给了我1.6的价值。我尝试使用日期函数来转换值,但没有奏效。请帮忙!感谢
答案 0 :(得分:0)
你需要查看单元格的值 - 范围是一个对象,它所持有的值是一个属性:
year(Sheets("SheetName").cells(35,2).value)
答案 1 :(得分:0)
当我使用您提供的日期测试Year(Range("B35"))
时,我会收到2012年。由于您尚未指定工作表,因此VBA会在 ActiveSheet 上引用B35。我的猜测是,你工作簿的一张工作表中的B35包含值1.6。
要解决此问题,请将其添加到您的代码中:
Dim ws As Worksheet
Set ws = Sheets("YourSheetName")
Year(ws.Range("B35"))
答案 2 :(得分:0)
尝试使用datepart函数?我认为Year(arg)返回一个字符串。
dim yr as date
yr = Sheets("yoursheetnamehere").Range("B35").Value
yr = datepart("yyyy", yr)
现在无法继续测试,但这应该使用正确的语法。