当Range实际上有数据时,Excel Range.Value返回0

时间:2016-05-09 20:40:43

标签: vba excel-vba excel-2007 windows-server-2008 excel

环境:Windows Server 2008(SP1)64位| Excel 2007。

我有一个范围内的值(比如60.664)。当我在即时窗口中运行代码行时,我得到一个Null a blank space

?Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Value

使用SelectActiveCell语句,如下所示。

Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Select
ActiveCell.Value

我可以通过Select | ActiveCell快速而肮脏地离开,但我想通过最佳实践完成此操作。

有没有人遇到过这个以及如何让Value从Range对象中读取?我的研究中没有找到任何东西。

1 个答案:

答案 0 :(得分:5)

可能是单元格t = "" for car in carList: t += "Your car is a {}, {}, {}. ".format(car['level']['status'], car['color'], car['type']) t[:-1] 位于合并区域,但不是该区域的第一个单元格。这可以解释为什么在D23之后获得值。 一旦选择范围,您可以通过打印地址来检查它:

Select

如果是这种情况,那么您可以修复范围或尝试从合并区域获取值:

Workbooks("ddWorkbook.xlsm").Worksheets("Daily Dashboard").Range("D23").Select
Debug.Print ActiveCell.Address