我想通过VBA设置单元格的值。我用Google搜索,并看到一些决议:不能在VBA中将数据写入Excel 2007/2010中的单元格
Sheets("SheetName").Range("A1").value = someValue
Sheets("SheetName").Cells(1,1).value = someValue
有了这样的代码,我可以只读取单元格A1的数据,但我不能一个新的值设置为它。
更新
设置单元格A1值的代码是一个Function
如下内放。
Function abb()
Sheets("SheetName").Range("A1").value = 122333
abb = 'any thing'
End Function
在单元格B2中,我设置了=abb()
并按回车。我获得了#VALUE,但没有发生在A1。
把这段代码放在一个宏中,它可以工作。
我的问题是,如何让A1具有函数内的值?
你有两种选择。可以将其作为子程序运行,也可以使用http://stackoverflow.com/q/8520732/641067中的UDF计时器解决方法。前者更容易。 – brettdj 2012-02-28 10:20:40
如果你想让一个函数在A1中返回一些东西,那么函数调用应该在A1中输入。这就是Excel工作的方式。 – 2012-02-28 10:22:02
为什么不用B2表单来修改B2表单然后填充A1?从你的代码中,函数不会更新,因为它没有任何参数。 – brettdj 2012-02-29 01:33:16