Function DeleteRows()
Dim wb As Workbook
Set wb = Workbooks(ThisWorkbook.Name)
Debug.Print wb.Name
Dim wsName As String
Dim ws As Worksheet
wsName = "SheetX"
Set ws = wb.Worksheets(wsName)
Debug.Print ws.Name
With ws
Debug.Print "ws.name = " & ws.Name
Rows("3:31").Select
Selection.Delete Shift:=xlUp
End With
End Function
我有这个函数DeleteRows,它从工作表“SheetX”中删除行3:31。
这仅适用于“SheetX”是屏幕上显示的工作表。
我希望它能在工作簿中显示另一张工作表时说“SheetY”。我怎样才能做到这一点?
一种方法是: 1 - 激活“SheetY” 2 - 删除行 3 - 激活“SheetX”
但这对用户来说并不透明。感谢帮助。
答案 0 :(得分:4)
您应该始终尝试避免使用Select语句。它们几乎总是不必要的。该函数应该是Sub(因为它没有输出)并且可以重写为单行:
Sub DeleteRows()
ThisWorkbook.Sheets("SheetX").Range("3:31").Delete xlUp
End Sub