我想要选择一行数据(A3到A11)(此范围内没有空白)。我使用以下代码:
Range(ws.Range("A3"), ws.Range("A3").End(xlToRight)).Select
但是,此代码仅选择单元格A3而不选择A3至A11。我也尝试了xlToLeft,但它仍然只选择了A3 ......我怎么能纠正这个?感谢。
答案 0 :(得分:9)
由于你的标题,这里有几种方法可以选择一行
ws.Rows(3).Select
ws.Range("a3").EntireRow.Select
选择一行中的所有数据,
ws.Range("A3",ws.Cells(3,ws.Columns.Count).End(xlToLeft)).Select
同样在你的例子中,你错过了“ws”。来自最外层范围对象的前缀 - 如果不指定工作表,Excel将尝试引用ActiveSheet,您刚刚编写了一个潜在的错误。
答案 1 :(得分:1)
我认为这与Populating a list box with data from worksheet重叠。我建议你在原帖
中继续解决与此主题相关的任何问题根据先前的垂直选择问题,您使用xlDown和xlUp(不是xltoRight或xltoLeft)
ws.Range(ws.[a3], ws.Cells(Rows.Count, "A").End(xlUp))
答案 2 :(得分: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
答案 3 :(得分:0)
怎么样:
a = Range("A11").End(xlToRight).Address
Range("A3:" & a).Select
答案 4 :(得分:0)
RANGE("A1", Cells(RANGE("A23").row, Columns.Count).End(xlToLeft)).Select 'YES
答案 5 :(得分:0)
试试这个...
ActiveSheet.UsedRange.EntireRow.Select
答案 6 :(得分:0)
要动态选择整行(当前活动单元格),请尝试以下VBA代码段:
ActiveSheet.Range(Selection, Selection).EntireRow.Select