在excel中使用VBA选择单元格
我正在尝试使用vba在excel中选择一个单元格。我希望能够使用到变量(I&e)来选择一个单元格。其中i=3和e=13我希望能够在excel中使用VBA选择单元格,vba,excel,Vba,Excel,我正在尝试使用vba在excel中选择一个单元格。我希望能够使用到变量(I&e)来选择一个单元格。其中i=3和e=13我希望能够 ActiveCell(e, i).Activate 然后选择单元格C13 ActiveCell(e, i).Activate 但仅当原始活动单元格为A1时才起作用。任何帮助都将不胜感激 我在代码中添加了注释,因此应该很容易理解 首先运行下面的代码 Sub Main() Dim i As Long ' row variable Dim e As L
ActiveCell(e, i).Activate
然后选择单元格C13
ActiveCell(e, i).Activate
但仅当原始活动单元格为A1时才起作用。任何帮助都将不胜感激 我在代码中添加了注释,因此应该很容易理解 首先运行下面的代码
Sub Main()
Dim i As Long ' row variable
Dim e As Long ' column variable
i = 3 ' row 3
e = 13 ' column 13 ("M")
' this will put: Cells(3,13) in Range "M3"
Cells(i, e) = "Cells(" & i & ", " & e & ")"
' if you want to offset the current active cell then
' use Offset(x, y)
' use negative x to offset up
Cells(i, e).Offset(-1, 0) = "1 up"
' use positive x to offset down
Cells(i, e).Offset(1, 0) = "1 down"
' use negative y to offset left
Cells(i, e).Offset(0, -1) = "1 left"
' use positive y to offset right
Cells(i, e).Offset(0, 1) = "1 right"
' same principles apply when using range object
Dim r As Range
Set r = Cells(i, e)
r.Offset(-2, 0) = "2 up"
r.Offset(2, 0) = "2 down"
r.Offset(0, -2) = "2 left"
r.Offset(0, 2) = "2 right"
Columns.AutoFit
End Sub
然后查看工作表并分析命令的作用:)
欢迎来到StackOverflow。在这里简单搜索“vba excel选择单元格”应该可以找到这个问题的几十个答案。在这里发布问题之前,请至少自己尝试找到一个解决方案,因为很可能有人曾经问过并得到了答案。谢谢。如果您想通过索引引用列,请查看R1C1语法。请看以下内容:谢谢Emmad!正是我想要的。Ken-我确实搜索并找到了Similar信息,但并不是我想要的。这是因为
ActiveCell
实际上返回了一个Range
对象,该对象表示活动窗口中的活动单元格。所以ActiveCell(e,i)
基本上等于ActiveCell.Offset(e-1,i-1)
。如果原始活动单元格不是A1,那么代码当然会引用错误的单元格