我正在寻找一个代码来获取最后添加到 Excel 的工作表的名称。
我试过这个...
Sub test()
Dim lastAddedSheet As Worksheet
Dim oneSheet As Worksheet
With ThisWorkbook
Set lastAddedSheet = .Sheets(1)
For Each oneSheet In .Sheets
If Val(Mid(oneSheet.CodeName, 6)) > Val(Mid(lastAddedSheet.CodeName, 6)) Then
Set lastAddedSheet = oneSheet
End If
Next oneSheet
End With
MsgBox lastAddedSheet.Name & " was last added."
End Sub
但它并没有真正起作用。
最佳答案
你不能可靠 知道上次添加的工作表,因为可以在工作簿中任何现有工作表之前或之后插入工作表,请参阅 Sheets.Add
documentation .
除非你是添加它的人。在这种情况下,您需要做的就是捕获 Worksheet
Add
返回的对象方法:
Dim newSheet As Worksheet
Set newSheet = wb.Worksheets.Add
Debug.Print newSheet.Name
从
CodeName
中提取数字也不可靠 - 特别是如果您假设每张工作表的代号都以 5 个字母开头。在德国机器上,CodeName
我们所看到的Sheet1
将是 Tabelle1
- 但又一次,该数字的作用是严格确保 VBComponent
名称的唯一性。 VBA 项目中的项目,并且没有一个说它与任何排序有关。
关于excel - VBA - 获取最后添加的工作表的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995931/