请问Excel中用VBA时,假设含有字符变量a,b,x,y,如果想用range选定区域,怎样选定区域(x,y)到(a,b)?
4个回答
展开全部
range(起始单元格,终止单元格)
range(cells(行号,列号),cells(行号,列号))
不知道你的变量a,b,x,y 中保存的是什么
行,列号?单元格地址?
如果是行列号那么
range(cells(a,b),cells(x,y)).select
如果是单元格地址 比如:
range(range(a),range(y)).select
实际例程:
Sub aa()
Dim a, b, x, y As Long
a = 1
b = 3
x = 5
y = 7
Range(Cells(a, b), Cells(x, y)).Select
MsgBox "选定的范围是:" & Selection.Address(0, 0)
End Sub
Sub bb()
Dim a, b, x, y As String
a = "A1"
b = "B3"
x = "C5"
y = "D7"
Range(Range(a), Range(y)).Select
MsgBox "选定的范围是:" & Selection.Address(0, 0)
End Sub
range(cells(行号,列号),cells(行号,列号))
不知道你的变量a,b,x,y 中保存的是什么
行,列号?单元格地址?
如果是行列号那么
range(cells(a,b),cells(x,y)).select
如果是单元格地址 比如:
range(range(a),range(y)).select
实际例程:
Sub aa()
Dim a, b, x, y As Long
a = 1
b = 3
x = 5
y = 7
Range(Cells(a, b), Cells(x, y)).Select
MsgBox "选定的范围是:" & Selection.Address(0, 0)
End Sub
Sub bb()
Dim a, b, x, y As String
a = "A1"
b = "B3"
x = "C5"
y = "D7"
Range(Range(a), Range(y)).Select
MsgBox "选定的范围是:" & Selection.Address(0, 0)
End Sub
追问
我测试了一下,用您的可以,但是前面加上worksheets就不行了,请问原因是不是在这里?
我用的例子如下,提示错误“运行时错误‘1004’,应用程序定义或对象定义错误”
Sub copytry()
Dim a, b, x, y As Long
a = 1
b = 2
x = 6
y = 7
Worksheets("down").Range(Cells(a, x), Cells(b, y)).Select
End Sub
提示错误是
追答
你只是指明了range函数的父对象,而cells的父对象没有指明,
如果你两个都不指定那么默认的都是当前激活的工作表.如果你指明了其中一个那么另外一个也要指定.
Sub copytry()
Dim a, b, x, y As Long
a = 1
b = 2
x = 6
y = 7
with worksheets("down")
.Range(.Cells(a, x),.Cells(b, y)).Select
end with
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选定区域可以用CELLS和RANGE配合:
RANGE(CELLS(a,b), CELLS(x,y))
RANGE(CELLS(a,b), CELLS(x,y))
更多追问追答
追问
是我没问清楚,抱歉,选定是可以的,但是运行 .copy 等命令时会出错,请问是什么原因?有什么解决办法吗?
追答
通常COPY命令应该不会有问题
不知是怎样的错误提示?
试试在RANGE对象前完整引用父对象,像这样:
worksheets("Sheet1").range(cells(a,b), cells(x,y)).copy destination:=...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub CommandButton1_Click()
Dim a, b, x, y As String
a = "a"
b = "b"
x = "1"
y = "6"
Range(a & x & ":" & b & y).Select
End Sub
随便举的一个例子,用按钮运行的
Dim a, b, x, y As String
a = "a"
b = "b"
x = "1"
y = "6"
Range(a & x & ":" & b & y).Select
End Sub
随便举的一个例子,用按钮运行的
更多追问追答
追问
如果a赋值为某一个数字,比如“13”,那是不是只能用cells嵌套?是否有办法?(比如通过char指令转换?)另外,我没问清楚,其实我之前也是用cells嵌套的,但是在.copy时会有问题,如楼下追问内容,谢谢。
追答
可以用的cells嵌套,但定义为整型的好,我不知道你为什么要变量是字符。
如果是整型,可以这样Range(Cells(a, x), Cells(b, y)).Select
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Range(cells(x,y),cells(a,b))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |