簡體   English   中英

在excel vba中的特定工作表中選擇范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM