VBScript:如何将Excel单元格的内容转换为双倍?

时间:2014-02-11 16:52:36

标签: arrays excel vbscript

我已将一个文本文件导入到包含列中数字的Excel中。我希望操纵它们,比如将它们乘以整数,然后使用VBScript将结果粘贴到另一列中。但是,由于数字格式错误,我收到错误。

我将单元格值复制到数组中以便更改它们,然后我的计划是将数组复制到另一列。

当我使用VarType时,我得到8204(Variant数组?)。我认为他们需要采用“双重”格式才能被操纵?但是,在数组中的任何元素上使用CDbl,我得到“类型不匹配”错误。所以问题是,如何更改数组的数据类型以更改值?

示例代码:

Stop_cell_y =  ":C" & 150    
Dim z_coords()
ReDim z_coords(Stop_row)

For i = 0 to UBound(z_coords)
 y_values(i)=objExcel.Range("C1" & Stop_cell_y).Value
Next

testvar=y_coords(5)
testvar2=CDbl(testvar)

给出类型不匹配错误。

相关列中的样本编号:

0.585714
1.17143
1.75714    
3.51429
4.1

奇怪的是,添加值,如2,似乎有效。然而,乘法失败。

提前谢谢!

修改

当然,没有发现那个明显的错误。我在这里复制示例时也输入了错误的变量名,抱歉。谢谢!下次我应该多关注基础知识。最终的代码最终成为

For i = 0 to UBound(z_coords)
 Currcell_y = "C" & i+4
 z_coords(i) = objExcel.Range(Currcell_y).Value
Next

For i = 0 to UBound(z_coords)
 Currcell_z = "D" & i+4
 objExcel.Range(Currcell_z).Value = z_coords(i) * 2
Next

0 个答案:

没有答案