Vba 如何在另一个工作表中将转置范围声明为单元格?

Vba 如何在另一个工作表中将转置范围声明为单元格?,vba,excel,Vba,Excel,我使用以下代码将单元格中的字符串按“|”拆分,并将字符串(0)进一步按“”拆分。我的问题是最后一行代码。我想使用单元格位置定义范围,但这会导致错误。为什么会这样 what = Split(Cells(r, 3).Value, "|") titletxt = what(0) x = Split(titletxt, " ") Worksheets("Sheet2").Range("B2:B5").Value = Application.Transpose(x) 由此 Workshee

我使用以下代码将单元格中的字符串按“|”拆分,并将字符串(0)进一步按“”拆分。我的问题是最后一行代码。我想使用单元格位置定义范围,但这会导致错误。为什么会这样

 what = Split(Cells(r, 3).Value, "|")
 titletxt = what(0)

 x = Split(titletxt, " ")

 Worksheets("Sheet2").Range("B2:B5").Value = Application.Transpose(x)
由此

 Worksheets("Sheet2").Range("B2:B5").Value = Application.Transpose(x)
我想更改为以下-->但出现错误

Worksheets("Sheet2").Range(Cells(2,2), Cells(5, 2)) = Application.Transpose(x)

无法发表评论,但请尝试以下操作:

With Worksheets("Sheet2")
    .Range(.Cells(2, 2), .Cells(5, 2)) = Application.Transpose(x)
End With

上述工作正常吗?

单元格本身将始终引用活动工作表,因此如果工作表2未处于活动状态,则代码将失败。请改为尝试
Sheets(“Sheet2”)。单元格(2,2)。调整大小(3,1)
我尝试过,但现在超出范围。