2011-10-25 79 views
1

我有一行數據(A3到A11),我想選擇(在這個範圍內沒有空白)。我使用下面的代碼:選擇整行數據

Range(ws.Range("A3"), ws.Range("A3").End(xlToRight)).Select 

然而,這個代碼僅選擇單元格A3和A3沒有對A11。我也嘗試過xlToLeft,並且仍然只選擇A3 ...我怎樣才能糾正這個問題?謝謝。

+1

xlDown is你想要什麼 –

回答

1

我認爲這與Populating a list box with data from worksheet重疊。我建議你繼續有關此主題返回原來張貼

按照事先問題的任何問題垂直使用選擇xlDown和xlUp(不xltoRight或xltoLeft)

ws.Range(ws.[a3], ws.Cells(Rows.Count, "A").End(xlUp)) 
+0

他說他想選擇A3到A11,而你沒有提到任何11在那裏我懷疑它也可能選擇12行和13行,如果它們包含任何值! – niko

+0

是的Niko,我的代碼查找不下來,所以如果有超出A11的附加值,它會接受它。這是故意的向下看(a)跳過空白(儘管在這種情況下沒有)(b)如果在第一個單元格下面沒有值,則一直向下選擇。如果一個硬編碼的範圍被要求,那麼你的建議就會訣竅(但不需要選擇) – brettdj

+0

不錯的工作!我只想讓他確定如何選擇範圍,但我喜歡你的解決方案+ – niko

0

您需要從選擇範圍A3至A11。這將這樣的伎倆

activesheet.range("A3:A11").select or 
    activesheet.range(cells(3,"A"),cells(11,"A")).select or 
    activesheet.range(cells(3,1),cells(11,1)).select 
8

僅僅因爲你的稱號,這裏有幾種方法可以選擇一行

ws.Rows(3).Select 
ws.Range("a3").EntireRow.Select 

選擇行上的所有數據,

ws.Range("A3",ws.Cells(3,ws.Columns.Count).End(xlToLeft)).Select 

同樣在你的例子中,你錯過了「ws」。來自最外層範圍對象的前綴 - 無需指定工作表,Excel將嘗試引用ActiveSheet,並且您剛剛編寫了一個潛在錯誤。

0

如何:

a = Range("A11").End(xlToRight).Address 
Range("A3:" & a).Select 
0
RANGE("A1", Cells(RANGE("A23").row, Columns.Count).End(xlToLeft)).Select 'YES 
+2

請簡要介紹一下你的解決方案。 – Ralph

0

嘗試......

ActiveSheet.UsedRange.EntireRow.Select

+1

請簡要解釋您的解決方案。請花些時間閱讀如何寫出一個好的答案。閱讀[this](http://meta.stackexchange.com/a/7659/338114)和[this](http://stackoverflow.com/help/how-to-answer) –

0

中動態(當前有效小區)選擇整行,請嘗試以下VBA代碼片段:

ActiveSheet.Range(Selection, Selection).EntireRow.Select