嗨,请帮我完成以下内容翻译:
Sub movedata()
Call select_data(.Range("B6:B12"))
End Sub
Function select_data(C As Range)
Worksheets("sheet1").Range("I6:I16") = Worksheets("Sheet1").Range(C).Value
End Function
我不知道自己出了什么问题,
谢谢,
C
已经是一个Range
对象,所以没有必要将其传递给Range()
函数(该函数无论如何都期望一个字符串)来创建它。
更改为:
Worksheets("sheet1").Range("I6:I16") = Worksheets("Sheet1").Range(C).Value
To:
Worksheets("sheet1").Range("I6:I16") = C
Sub movedata()
Call select_data(Range("B6:B12").address)
End Sub
Function select_data(C As string)
with Worksheets("sheet1")
.Range("I6:I16") = .Range(C).Value
end with
End Function
方法二:
Sub movedata()
Call select_data(Worksheets("sheet1").Range("B6:B12"))
End Sub
Function select_data(C As range)
C.parent.Range("I6").resize(C.rows.count, C.columns.count) = C.Value
End Function
顺便提一下,将B6:B12的值塞入I6:I16的单元格中可能会遇到一些困难。似乎有4个值缺失。
.Range(...)
前面使用了.
,我猜想这是因为你有一个With Sheets(...)
块,只是没有显示出来。如果你想从活动工作表中传递一个范围,只需在传递范围时删除.
即可。否则,请在前面加上你的工作表名称:Call select_data(Sheets("mysheet").Range("B6:B12"))
。 - Bond