我想拆我的名字,把我的表名作爲splited名分裂名字,並把它作爲表名
例如:羅希特 - 辛格我的工作表名稱應該是「辛格」我有WIRTE的代碼被放在全名作爲工作表。可以任何請幫我對此
Sub dd()
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
End Sub
我想拆我的名字,把我的表名作爲splited名分裂名字,並把它作爲表名
例如:羅希特 - 辛格我的工作表名稱應該是「辛格」我有WIRTE的代碼被放在全名作爲工作表。可以任何請幫我對此
Sub dd()
If Not Intersect(Target, Range("A1")) Is Nothing Then
ActiveSheet.Name = ActiveSheet.Range("A1")
End If
End Sub
你顯然想要使用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
非常感謝你 –
使用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
而你的問題是...(?) – FDavidov