使用If语句不能更改Worksheet的名称

我想改变工作表的名字取决于我有的文件。 它应该有“文件1”或“文件2”工作表。但是当我尝试使用更改的工作表名称,所以这意味着如果语句中的代码不起作用,我得到一个错误“超出范围”,请帮助我与此。

Dim wsSheet As Worksheet Dim wsSheet2 As Worksheet On Error Resume Next Set wsSheet = Sheets("File1") Set wsSheet2 = Sheets("File2") On Error GoTo 0 If Not wsSheet Is Nothing Then Sheets("Sheet1").Name = "Sheet1ChangedFile1" Sheets("Sheet2").Name = "Sheet2ChangedFile1" Else If Not wsSheet2 Is Nothing Then Sheets("Sheet1").Name = "Sheet1ChangedFile2" Sheets("Sheet2").Name = "Sheet2ChangedFile2" End If End If Sheets("Sheet1ChangedFile2").Select 'Here I get an error 

问题是Else语句,如果你完成了第一个if语句,你永远不会到达else部分,所以用它来代替:

 Dim wsSheet As Worksheet Dim wsSheet2 As Worksheet On Error Resume Next Set wsSheet = Sheets("File1") Set wsSheet2 = Sheets("File2") On Error GoTo 0 If Not wsSheet Is Nothing Then Sheets("Sheet1").Name = "Sheet1ChangedFile1" Sheets("Sheet2").Name = "Sheet2ChangedFile1" End If 'Changed the Else to End If If Not wsSheet2 Is Nothing Then Sheets("Sheet1").Name = "Sheet1ChangedFile2" Sheets("Sheet2").Name = "Sheet2ChangedFile2" End If Sheets("Sheet1ChangedFile2").Select