我想拆分我的名字并将我的工作表名称作为拆分名称
例如:Rohit-Singh我的工作表名称应该是“Singh”我已经将全名作为工作表的代码。可以随便帮帮我
Sub dd()
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
End Sub
答案 0 :(得分:1)
您显然想要使用Worksheet_Change
事件。您应该在重命名工作表时添加一些错误处理,如果要更改此事件的值,请关闭Application.EnableEvents
。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
On Error Resume Next
ActiveSheet.Name = Split(Range("A1"), "-")(1)
If Err.Number <> 0 Then
MsgBox "The name must be delimited using a ""-"" and no other special characters can be used", vbInformation, "Action Cancelled"
Application.EnableEvents = False
Range("A1") = ""
Application.EnableEvents = True
End If
On Error GoTo 0
End If
End Sub
答案 1 :(得分:0)
使用split
函数将姓氏与姓氏分开,并将结果分配给数组。然后使用第二个元素命名工作簿。
Sub test()
Dim MyArray() As String
Dim name As String
name = "Rohit-Singh"
MyArray() = Split(name, "-")
Debug.Print MyArray(0)
Debug.Print MyArray(1)
End Sub