2
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。VBA - 在另一個工作表中刪除行
僅當「SheetX」是屏幕上顯示的工作表時才起作用。
我希望它在另一張工作表中顯示「SheetY」的工作表時顯示。我怎樣才能做到這一點?
的一種方式將是: 1激活「SheetY」 2-刪除行 3-激活「SheetX」
但是這不會是對用戶透明的。感謝幫助。
TKS,所以如果我有一個輸出我應該只使用功能(或我從函數返回的東西)? – HattrickNZ
關於這個[這裏](http://www.excelfunctions.net/VBA-Functions-And-Subroutines.html)有一個很好的解釋,我已經複製了:「VBA函數和VBA子程序之間的主要區別是一個函數返回一個結果,而一個子例程不會,因此,如果你想執行一個返回結果的任務(例如總和一組數字),你通常會使用一個函數,但如果你只是需要一組要執行的動作(例如,格式化一組單元格),則可以選擇使用子例程。「 – tigeravatar