2016-11-14 43 views
-1

我想拆我的名字,把我的表名作爲splited名分裂名字,並把它作爲表名

例如:羅希特 - 辛格我的工作表名稱應該是「辛格」我有WIRTE的代碼被放在全名作爲工作表。可以任何請幫我對此

Sub dd() 

    If Not Intersect(Target, Range("A1")) Is Nothing Then 
     ActiveSheet.Name = ActiveSheet.Range("A1") 
    End If 

End Sub 
+0

而你的問題是...(?) – FDavidov

回答

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 
+0

非常感謝你 –

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