【发布时间】:2015-02-27 21:44:29
【问题描述】:
我正在尝试使用 VBA 编写 Excel 宏。问题是,这个宏中处理的单元格是由用户选择的,所以我不能预定义范围。
这是我的代码:
Range(???).Select
Selection.FormulaR1C1 = StrConv(Selection.Text, 3)
如何取选定单元格的范围填入“???”在上面的代码中?
n.b.:用户可以选择他们想要的任何范围,并且可以多次使用此宏。
提前致谢!
【问题讨论】:
我正在尝试使用 VBA 编写 Excel 宏。问题是,这个宏中处理的单元格是由用户选择的,所以我不能预定义范围。
这是我的代码:
Range(???).Select
Selection.FormulaR1C1 = StrConv(Selection.Text, 3)
如何取选定单元格的范围填入“???”在上面的代码中?
n.b.:用户可以选择他们想要的任何范围,并且可以多次使用此宏。
提前致谢!
【问题讨论】:
如果用户已经选择,那么您只需要:
Selection.FormulaR1C1 = StrConv(Selection.Text, 3)
编辑#1
假设用户有选择单元格A1到A10,我们想在单元格中放置一个简单的公式:
Sub SomethingSimple()
Selection.Formula = "=1+2"
End Sub
这将完全在每个单元格中放置相同的公式。
但是,如果我们想在单元格中放置一个“可调整”的公式:
Sub SomethingMoreComplex()
Selection.Formula = "=B1"
End Sub
运行 SomethingMoreComplex 后,单元格 A1 将包含:
=B1
并且单元格 A2 将包含:
=B2
等等。所以“调整”已经应用了!
【讨论】:
For Each x In Selection 将其应用于每个选定的单元格。无论如何,感谢您的帮助!