[英]Select range in a particular sheet in excel vba
我有一個關於使用 excel vba 在特定工作表中選擇范圍的問題。
我不知道為什么以下不起作用:
Thisworkbook.Sheets("N&A").Range("B4:F16").select
但是,這有效:
Thisworkbook.Sheets("N&A").Activate
ActiveSheet.Range("B4:F16").Select
VBA 代碼在“N&A”表上編程。
誰能讓我知道可能是什么原因?
謝謝!
你基本上已經回答了你自己的問題。 這是Excel 2003 幫助的摘錄:
“如果您使用 Select 方法選擇單元格,請注意 Select 僅適用於活動工作表。如果您從模塊運行 Sub 過程,除非您的過程在使用 Select 方法之前激活工作表,否則 Select 方法將失敗細胞范圍。”
更重要的是,請記住在 VBA 中很少需要使用Select
,並且應該盡可能避免使用它。
您可以嘗試使用以下代碼來避免 acriveworksheet:
Sub Clean()
lastrow = Worksheets("REPORT").Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Dim ws As Worksheet
Set ws = Worksheets("Report")
Set rng = ws.Cells(1, 1)
With ws
Set rng = .Range(.Cells(2, 1), .Cells(lastrow, 5))
End With
rng.Clear
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.