ThisWorkbook.Names("numWorkersCompEntries").Value = ThisWorkbook.Names("numWorkersCompEntries").Value + 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"去测试。显然可以调整以适应您的情况,但希望它会让您开始朝着正确的方向前进。