使用转置函数将数组粘贴到范围中
Pasting Array into Range Using Transpose Function
我正在尝试将一个数组转置到一个范围内:
Sub transposearray()
Dim letters As Variant
Dim sht As Workbook
Set sht = Workbooks("report 7-16.xlsx")
letters = Array("a", "b", "c", "d", "e", "f")
sht.Range("AB1:AB6").Value = WorksheetFunction.Transpose(letters)
End Sub
但是当我运行这个代码时,我收到消息说'运行时间错误'438':对象不支持这个属性或方法'
我在这里做错了什么?
您需要一个工作sheet 变量。试试这个(根据需要编辑 sheet name/index):
Sub transposearray()
Dim letters As Variant
Dim wb As Workbook
Set wb = Workbooks("report 7-16.xlsx")
Dim sht As Worksheet
Set sht = wb.Sheets(1)
letters = Array("a", "b", "c", "d", "e", "f")
sht.Range("AB1:AB6").Value = WorksheetFunction.Transpose(letters)
End Sub
我正在尝试将一个数组转置到一个范围内:
Sub transposearray()
Dim letters As Variant
Dim sht As Workbook
Set sht = Workbooks("report 7-16.xlsx")
letters = Array("a", "b", "c", "d", "e", "f")
sht.Range("AB1:AB6").Value = WorksheetFunction.Transpose(letters)
End Sub
但是当我运行这个代码时,我收到消息说'运行时间错误'438':对象不支持这个属性或方法'
我在这里做错了什么?
您需要一个工作sheet 变量。试试这个(根据需要编辑 sheet name/index):
Sub transposearray()
Dim letters As Variant
Dim wb As Workbook
Set wb = Workbooks("report 7-16.xlsx")
Dim sht As Worksheet
Set sht = wb.Sheets(1)
letters = Array("a", "b", "c", "d", "e", "f")
sht.Range("AB1:AB6").Value = WorksheetFunction.Transpose(letters)
End Sub