你能用VBA代码编辑一个命名的excel对象的Value属性吗?

时间:2014-07-28 18:26:37

标签: excel vba excel-vba

 ThisWorkbook.Names("numWorkersCompEntries").Value = ThisWorkbook.Names("numWorkersCompEntries").Value + 1

我想在名称管理器中存储一个递增变量,而不是将其存储在电子表格中的某个位置,以便我可以按名称操作它。上面的代码对我来说似乎很直观,但我得到的类型不匹配。有任何想法吗?感谢您的任何帮助,您可以提供。

- 德雷克

1 个答案:

答案 0 :(得分:0)

如果您稍微修改一下代码,您会发现单个数字的值实际上存储为字符串,因此您尝试添加一个字符串,而Excel并不是这样。高兴的。你可以尝试这样的事情:

Sub test()
Dim namedValue As Variant

namedValue = ThisWorkbook.Names("Foo").Value

ThisWorkbook.Names("Foo").Value = Mid(namedValue, 2, Len(namedValue)) + 1

Debug.Print ThisWorkbook.Names("Foo").Value
End Sub

这似乎在我的测试表上有预期的结果...只是确保你有一个命名范围" Foo"去测试。显然可以调整以适应您的情况,但希望它会让您开始朝着正确的方向前进。