我需要将选定单元格中的数据放到数组中。怎么做?我找不到任何例子。我知道如何通过ActiveCell.Value
从一个单元格获取价值,但它如何通过多种选择来实现。猜猜我应该选择范围作为对象变量并通过foreach循环处理它。有人可以为它写一个例子吗?
解决方案:
Sub Button1_Click()
For Each OneCell In Selection
MsgBox (OneCell.Value)
Next
End Sub
答案 0 :(得分:1)
Application.Selection
并不总是Range
(例如,如果选择了Shape(s)或ActiveX Control),Selection.Value
会根据所选内容返回不同的内容:< / p>
.Value
属性如果选择了多个区域,.Value
仅返回第一个区域的值。
If TypeOf Selection Is Excel.Range Then
Debug.Print Selection.Address(0, 0)
For Each area In Selection.Areas
Debug.Print area.Address(0, 0)
Next
Else
Debug.Print TypeName(Selection)
End If
Locals窗口可以更轻松地查看Application.Selection
答案 1 :(得分:0)
您不必使用OneCell.Value
,因为单元格本身保存该值。
如果您想获得单元格公式,请使用OneCell.FormulaR1C1
。
For Each OneCell In Selection
MsgBox (OneCell)
Next OneCell