Excel 继续之前,请检查其他工作簿中的工作表名称
我有一个非常好用的代码 除非列表中的其他图纸没有指定的图纸名称,否则它不会执行任何操作。因此,我想添加一个代码,该代码将弹出一个窗口,显示“该工作簿上不存在工作表名称” 我已经尝试了尽可能多的代码,但似乎没有一个有效。这最后一个工作,但它有一个弹出窗口,为每一个工作表是在工作簿中,这不是我要寻找的工作表 我如何编辑它,以便在单击时,代码将搜索其他工作簿,确定该工作表是否存在于尽可能多的工作表中,并且只有一个弹出窗口表明它不存在 多谢各位Excel 继续之前,请检查其他工作簿中的工作表名称,excel,vba,Excel,Vba,我有一个非常好用的代码 除非列表中的其他图纸没有指定的图纸名称,否则它不会执行任何操作。因此,我想添加一个代码,该代码将弹出一个窗口,显示“该工作簿上不存在工作表名称” 我已经尝试了尽可能多的代码,但似乎没有一个有效。这最后一个工作,但它有一个弹出窗口,为每一个工作表是在工作簿中,这不是我要寻找的工作表 我如何编辑它,以便在单击时,代码将搜索其他工作簿,确定该工作表是否存在于尽可能多的工作表中,并且只有一个弹出窗口表明它不存在 多谢各位 Private Sub CopyPasteButton_C
Private Sub CopyPasteButton_Click()
ActiveSheet.Unprotect Password:=PSWD
Dim mySheet As Worksheet, otherSheet As Worksheet
Dim ws As Worksheet
On Error GoTo exit_err
Application.DisplayAlerts = False
Set mySheet = ThisWorkbook.Sheets("Info")
For Each ws In Workbooks(Me.ListBox1.Value).Worksheets
If ws.Name = "This is It" Then
Set otherSheet = Workbooks(Me.ListBox1.Value).Sheets("This is It")
If otherSheet.Range("AN1") >= 148 Then
mySheet.Range("A50:J57").Copy
otherSheet.Range("A5:J12").PasteSpecial xlPasteValuesAndNumberFormats
mySheet.Range("M6:N6").Copy
otherSheet.Range("Q19:R19").PasteSpecial xlPasteValuesAndNumberFormats
Else
MsgBox "Wrong Sheet Version"
End If
Else
MsgBox "Sheet Does not Exist"
End If
Next ws
exit_err:
mySheet.Protect Password:=PSWD
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
Function WorksheetExists(ByValWorksheetName As String) As Boolean
Dim Sht As Worksheet
For Each Sht In Workbooks(Me.ListBox1.Value).Worksheets
If Application.Proper(Sht.Name) = Application.Proper(WorksheetName) Then
WorksheetExists = True
Exit Function
End If
Next Sht
WorksheetExists = False
End Function
不要在工作表中循环,只要尝试设置对工作表的引用,并在错误不存在的情况下捕获错误
Private Sub CopyPasteButton_Click()
ActiveSheet.Unprotect Password:=pswd
Dim mySheet As Worksheet, otherSheet As Worksheet
Dim ws As Worksheet
On Error GoTo exit_err
Application.DisplayAlerts = False
Set mySheet = ThisWorkbook.Sheets("Info")
On Error Resume Next
Set otherSheet = Workbooks(Me.ListBox1.Value).Worksheets("This is It")
On Error GoTo 0
If Not otherSheet Is Nothing Then
If otherSheet.Range("AN1") >= 148 Then
mySheet.Range("A50:J57").Copy
otherSheet.Range("A5:J12").PasteSpecial xlPasteValuesAndNumberFormats
mySheet.Range("M6:N6").Copy
otherSheet.Range("Q19:R19").PasteSpecial xlPasteValuesAndNumberFormats
Else
MsgBox "Wrong Sheet Version"
End If
Else
MsgBox "Sheet Does not Exist"
End If
exit_err:
mySheet.Protect Password:=pswd
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
好,。。别这么简单:)谢谢你!