我让用户手动选择不连续的范围,然后我试图将单元格的值放在另一个工作表的那些范围内。我似乎无法移动数据,并且我得到了一个"应用程序定义或对象定义错误"在结束sub之前的最后一行。我的数据迁移在哪里出错?
在做了大量的搜索和阅读后,我想出了使用union命令将范围组合成单个变量的可能性,但我似乎无法弄清楚是否可以使用union这种方式涉及多个范围。我认为这一切都错了,有没有更好的方法来解决这个问题?我应该创建一个数组来存储多个范围,然后反过来将所选数据吐出到新工作表中吗?
使用这样的东西?然后从数组中拉出来获取我想要的数据。
Sub accessAll()
Dim selRng As Range
Sheets("Sheet1").Select
Set selRng = Application.InputBox(Prompt:="Select Range", Title:="", Type:=8)
For Each cell In Selection
(do something here to push data to an array)
Next cell
End Sub
我试图使用的原始代码如下,它的简短直截了当(或者我认为),但我得到了前面提到的错误。我对VBA代码仍然缺乏经验,而且基本上是在教自己,所以请原谅对正确方法的无知。
有关如何进行的建议或我应该回顾的方法?我现在在这个问题上真的迷失了。
Sub SelectRange()
Dim selRng As Range
Sheets("Sheet1").Select
Set selRng = Application.InputBox(Prompt:="Select Range", Title:="", Type:=8)
MsgBox selRng.Address
Sheets("Sheet2").Range(selRng).Value = Sheets("Sheet1").Range(selRng).Value
End Sub