1

我到处搜索,只是无法让它运行。我对 VBA 相当陌生(b),所以如果可能的话,我会对一些提示或帮助感到非常高兴。

所以我录制的宏是这样的:

Range("C133:C134").Select
Selection.Copy
Sheets("AVGs").Select
Range("C28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=True

我的目标是选择和复制随机单元格并将它们粘贴到不同工作表上的随机单元格中。

我做到了这一点:

Selection.Copy
Sheets("AVGs").Select


Set x = Application.InputBox(prompt:="Click in the column to copy to", Type:=8)
Range("x").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Transpose:=True

但我只是得到错误,调试器在Range("x").Select.....中显示错误

4

1 回答 1

1

根据 InputBoxes 上的这个页面...

http://msdn.microsoft.com/en-us/library/office/aa195768(v=office.11​​).aspx

类型 8 表示输入框应该返回一个范围对象

8 A cell reference, as a Range object

如果是这种情况,那么你只需要做

x.Select

为了选择用户指定的范围。如果您使用 type = 2,那么您将使用Range(x).Select

之后,宏中的最后一行与过程中的最后一行相同,因此您应该关闭并运行

编辑,新代码:

Set x = Application.InputBox(prompt:="Set cell to copy", Type:=8) 
x.Select 
Selection.Copy 
Sheets("AVGs").Select 
Set y = Application.InputBox(prompt:="Set cell to paste", Type:=8) 
y.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
于 2013-10-15T13:59:13.693 回答