2015-11-06 48 views
0

我開始使用excel vba,因爲我試圖從range中選擇一個cell(根據其在range中的位置),所以遇到了問題。使用其相對位置在給定範圍內編輯單元格

更具體地說,我的目標是讓用戶鍵入一個range(在A5中),然後將該範圍的所有值都設置爲10,除了左上角的單元格必須是23之外。我的第一個猜測是這樣做的

Private Sub CommandButton1_Click() 
    Dim enteredValue As String 
    enteredValue = Range("A5").Text 
    Dim focusArea As Range 
    Set focusArea = Range(enteredValue) 
    focusArea.Value = 10 
    facusArea.Cells(1, 1).Value = 23 
End Sub 

但我得到一個錯誤

因此不會有人對你有一個關於提示 「所需的對象」如何在給定範圍內做這樣的操作?

+2

拼寫錯誤focusArea在最後一行。 – DanL

+1

最後一行是錯誤的。你已經使用了'facusArea',而不是'focusArea'。在代碼單的聲明區域中始終使用Option Explicit的另一個很好的理由(工具►選項►編輯器►需要變量聲明)。 – Jeeped

回答

0

最後一行是錯誤的。您已使用facusArea,而不是focusArea。在代碼單的聲明區域始終使用Option Explicit的另一個很好的理由(工具►選項►編輯器►需要變量聲明)。

這個問題可以很可能被關閉,原因如下:

對此問題予以不能再重現一個問題或一個簡單的印刷錯誤造成的。雖然類似的問題可能在這裏討論,但這個問題的解決方式不太可能有助於未來的讀者。這通常可以通過識別並密切檢查在發佈之前重現問題所需的最短程序來避免。

但是,我想提供一個無變化的替代方案來替代您正在嘗試使用With ... End With statement來識別範圍。

Private Sub CommandButton1_Click() 
    With Range(Range("A5").Text) 
     .Value = 10 
     .Cells(1).Value = 23 
    End With 
End Sub