vba - Excel VBA : store version code readable by another workbook

标签 vba excel

我们有一个工作簿模板,通过电子邮件发送、填写并通过电子邮件返回。返回后,我们为工作簿分配一个唯一的编号。目前,唯一编号附加到工作簿名称中。

当工作簿填写不正确时,就会出现问题,我们必须将其发送出去进行更正,然后以更改的名称接收回来。

工作簿由 VBA 处理,并根据唯一编号更新数据库。如果再次出现相同编号的工作簿,则认为是更新,记录被替换。

我们的想法是将唯一编号存储在隐藏的工作表中。是否有另一种不需要隐藏工作表的方法 - 例如通过代码读取和写入工作簿中的一些隐藏字段或全局常量的能力?

最佳答案

您可以使用工作簿的名称集合:

Sub StoreName(key As String, val As Variant)
    Dim WB As Workbook
    Set WB = ThisWorkbook
    WB.Names.Add key, "=" & val 'to force val to be interpreted as a named formula
End Sub

Function ReadName(key As String) As Variant
    Dim WB As Workbook
    Set WB = ThisWorkbook
    ReadName = Mid(WB.Names(key), 2)
End Function

测试如下:

Sub test()
    StoreName "bob", "1234"
    Debug.Print ReadName("bob")
End Sub

打印1234

还有其他方法来存储持久数据。例如,这是一个有趣的blog post .

关于vba - Excel VBA : store version code readable by another workbook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846479/

相关文章:

excel - 如何将 Excel 标签标题中的文本垂直居中?

excel - 带有部分条件的 COUNTIF 不起作用

sql-server - 读取文件然后将文件写入 SQL Server BLOB 列的代码,生成具有不同字节的文件

VBA隐藏工作簿中未使用的所有工作表

vba - 在标签上显示 SpinButton 的选定值

vba - 如何使用表字段作为函数的参数?

excel - 我可以添加电子表格行然后格式化吗?

python - 阅读工作表并保留条件格式

Python - 运行 Excel 宏

excel - excel中的转置不起作用,它只是复制一个单元格