如何在Excel中重置工作表命名

格德斯

如果我打开一个Excel工作簿,然后手动删除“ Sheet2”和“ Sheet3”,则当我下次单击“插入工作表”按钮时,它将把新工作表命名为“ Sheet4”。

但是,删除“ Sheet2”和“ Sheet3”后,如果我保存并重新打开工作簿,则当我下次单击“插入工作表”按钮时,它将命名为新工作表“ Sheet2”。

因此,Excel在某个位置存储了“最高工作表编号”变量,并且在工作表关闭时将重置此变量。我想用VBA重置它。

非常感谢和最良好的祝愿。

改变

好了,您可以尝试修改它,我正在检查内存,它看起来好像有两个整数可以保持工作表计数。但是,如果您删除一些工作表,则计数也会减少,因此您可能需要扩大搜索范围以找到所需的工作表

找到正确的内存地址后,请尝试将其清零(它可能是4个字节,但我会尝试仅将重要的字节清零)。

这是我用来查看内存的函数(它获取worksheets.count的内存地址之后的前100个字节,然后添加工作表,然后再次获取100个字节)

Option Explicit

Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Sub test2()
    'void ZeroMemory(
    '  [in]  PVOID Destination,
    '  [in]  SIZE_T Length
    ');

    'void CopyMemory(
    '  _In_  PVOID Destination,
    '  _In_  const VOID *Source,
    '  _In_  SIZE_T Length
    ');

    Dim b(0 To 99) As Byte
    Call CopyMemory(b(0), VarPtr(ActiveWorkbook.Worksheets.Count), 100)

    Dim output
    Dim i
    For Each i In b
        output = output & " " & Hex(i)
    Next i

    ActiveWorkbook.Worksheets.Add
    output = output & vbNewLine
    output = output & vbNewLine
    DoEvents

    Call CopyMemory(b(0), VarPtr(ActiveWorkbook.Worksheets.Count), 100)
    For Each i In b
        output = output & " " & Hex(i)
    Next i

    MsgBox output
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Excel-VBA中查找已重命名工作表的索引号

来自分类Dev

如何在Excel工作表中查找确切值

来自分类Dev

如何在Excel工作表中编写Drool规则?

来自分类Dev

如何在函数中引用Excel工作表

来自分类Dev

如何在Excel工作表中基于标题复制信息?

来自分类Dev

如何在Excel工作表中实现价值成为MATLAB中矩阵的元素

来自分类Dev

如何在Excel工作表中过滤列表

来自分类Dev

如何在Excel的每个工作表中搜索特定的列

来自分类Dev

如何在同一工作簿中创建到其他Excel工作表的超链接

来自分类Dev

如何创建和命名引用工作簿中单元格的Excel工作表

来自分类Dev

如何在excel中对工作表的名称进行软编码?

来自分类Dev

如何在Excel工作表中显示完整数字?

来自分类Dev

如何在Excel VBA用户窗体中显示Excel工作表图表

来自分类Dev

将一个Excel工作表中的命名范围复制到另一工作表中的命名范围

来自分类Dev

如何按字母顺序命名Excel工作表?

来自分类Dev

如何在所有Excel工作表的末尾添加命名工作表?

来自分类Dev

如何在Excel InterOp中创建Excel工作表并将其添加到多个工作簿中

来自分类Dev

Excel 2013如何在多个工作表中引用数据+随机化表内容?

来自分类Dev

导入Excel时在SSRS中命名工作表

来自分类Dev

如何在Excel中使用长名称的许多工作表中快速切换到/找到工作表

来自分类Dev

通过工作表值在Excel中命名工作表

来自分类Dev

参考另一个工作表VBA在Excel中重命名工作表

来自分类Dev

如何在Excel工作表中获取正确的数字格式

来自分类Dev

如何在Excel中搜索和合并多个工作表?

来自分类Dev

如何在大型Excel工作簿中对工作表重新编号?

来自分类Dev

如何在 Excel VBA 中自动更改工作表名称

来自分类Dev

如何在for循环中写入同一工作簿中的单独excel工作表?

来自分类Dev

如何从 UFT 中删除 Excel 工作表

来自分类Dev

如何对齐两个命名的小标题列表并将它们插入到excel工作表中?

Related 相关文章

  1. 1

    如何在Excel-VBA中查找已重命名工作表的索引号

  2. 2

    如何在Excel工作表中查找确切值

  3. 3

    如何在Excel工作表中编写Drool规则?

  4. 4

    如何在函数中引用Excel工作表

  5. 5

    如何在Excel工作表中基于标题复制信息?

  6. 6

    如何在Excel工作表中实现价值成为MATLAB中矩阵的元素

  7. 7

    如何在Excel工作表中过滤列表

  8. 8

    如何在Excel的每个工作表中搜索特定的列

  9. 9

    如何在同一工作簿中创建到其他Excel工作表的超链接

  10. 10

    如何创建和命名引用工作簿中单元格的Excel工作表

  11. 11

    如何在excel中对工作表的名称进行软编码?

  12. 12

    如何在Excel工作表中显示完整数字?

  13. 13

    如何在Excel VBA用户窗体中显示Excel工作表图表

  14. 14

    将一个Excel工作表中的命名范围复制到另一工作表中的命名范围

  15. 15

    如何按字母顺序命名Excel工作表?

  16. 16

    如何在所有Excel工作表的末尾添加命名工作表?

  17. 17

    如何在Excel InterOp中创建Excel工作表并将其添加到多个工作簿中

  18. 18

    Excel 2013如何在多个工作表中引用数据+随机化表内容?

  19. 19

    导入Excel时在SSRS中命名工作表

  20. 20

    如何在Excel中使用长名称的许多工作表中快速切换到/找到工作表

  21. 21

    通过工作表值在Excel中命名工作表

  22. 22

    参考另一个工作表VBA在Excel中重命名工作表

  23. 23

    如何在Excel工作表中获取正确的数字格式

  24. 24

    如何在Excel中搜索和合并多个工作表?

  25. 25

    如何在大型Excel工作簿中对工作表重新编号?

  26. 26

    如何在 Excel VBA 中自动更改工作表名称

  27. 27

    如何在for循环中写入同一工作簿中的单独excel工作表?

  28. 28

    如何从 UFT 中删除 Excel 工作表

  29. 29

    如何对齐两个命名的小标题列表并将它们插入到excel工作表中?

热门标签

归档