2016-09-30 90 views
2

我的VBA中發生了一些變化,它不允許我完成某些例程。下面列出了一個非常簡單的例子。如果有人遇到過這個問題,我將非常感謝任何支持解決這個問題。問題的工作表/範圍選擇(組合)不工作

  • 簡單的例子:

當我使用下面的代碼,它工作正常。

Sheets("Sheet1").Select 
Range("B3").Select 

當我將它們組合起來,我得到一個「1004」錯誤

Sheets("Sheet1").Range("B3").Select 

我檢查參考/文檔庫並沒有出現在這裏已經改變。它必須是簡單的東西,但我不能把它放在手指上。

+0

這真的應該工作......你在什麼操作系統和Excel版本? – Hambone

+0

另外,您的代碼是否在模塊中,與工作表或其他地方相關聯?我想如果這是在一個工作表中,我可以看到爲什麼這*可能*失敗 – Hambone

回答

3

如果你絕對必須它的一行代碼,然後交換選擇爲Application.GoTo這同時接受工作表和單元格範圍。

application.goto range("Sheet1!B3") 

然而,幾乎沒有必要(且最經常適得其反)使用Range .Select方法來引用一個或多個細胞去努力。請參閱How to avoid using Select in Excel VBA macros瞭解如何避免依賴選擇和激活來實現目標。

+0

感謝您的指導,並感謝您的支持。鏈接非常方便。我不敢相信我從來沒有遇到過這個問題。再次感謝。 – user1624926

3

您已經有了答案:

  • 第一Select工作表
  • Select上工作的一系列

您的代碼工作,如果你恰巧是在Sheet1當它是運行的,但如果你是而不是Sheet1會失敗。 在我看來,VBA對於這個問題有點愚蠢。

+1

更準確地說,如果工作表沒有被激活,你不能選擇一個範圍。聽起來很公平恕我直言 – Pierre

+0

@Pierre你的解釋比我的更好。 –

+0

謝謝加里:-) – Pierre