kavensyw 发表于 2010-8-24 18:25:07

下面代码出什么问题

求助:为何我最后msgbox显示的是Except的最后一条记录,而不是我要的第3条记录?
-----------------------------
Dim Sales,SalsePercent,Sum,errSum
Set Sales = CreateObject("Scripting.Dictionary")
Set SalsePercent = CreateObject("Scripting.Dictionary")

DataTable.AddSheet "Except"
DataTable.ImportSheet "C:\Documents and Settings\kavensyw\Desktop\数据导出\POSData.xls",1,"Except"

Sum=0
For i=1 to Datatable.GetSheet("Except").GetRowCount
        Datatable.GetSheet("Except").SetCurrentRow i
        Sales.add i,datatable.GetSheet("Except").GetParameter("销售额")
        SalsePercent.add i,datatable.GetSheet("Except").GetParameter("销售额占比")
        Sum=Sum+Sales.Item(i)               
Next       
msgbox sales.item(3)&"--"&SalsePercent.item(3)

xiatongbing 发表于 2010-8-24 19:36:15

呵呵,挺神奇的。
没找到原因,不过用这个可以。加一个行指示的语句
Datatable.GetSheet("Except").SetCurrentRow 3
msgbox sales.item(3)&"--"&SalsePercent.item(3)

这样就可以取出来,跟行相关。

kavensyw 发表于 2010-8-24 19:46:09

debug了下,Item对应的value没值,不知道为何F:\截图00.png

[ 本帖最后由 kavensyw 于 2010-8-24 19:47 编辑 ]

wugecat 发表于 2010-8-26 11:54:13

datatable.GetSheet("Except").GetParameter("销售额") 后面要加value,要不然返回的是个对象
datatable.GetSheet("Except").GetParameter("销售额").value

kavensyw 发表于 2010-8-27 16:00:31

对了,Thanks
页: [1]
查看完整版本: 下面代码出什么问题