arrays - 使用转置函数将数组粘贴到范围中

标签 arrays excel vba paste

我正在尝试将数组转换为一个范围:

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':对象不支持此属性或方法'

我在这里做错了什么?

最佳答案

您需要一个工作表变量。试试这个(根据需要编辑工作表名称/索引):

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

关于arrays - 使用转置函数将数组粘贴到范围中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51366195/

相关文章:

vba - 将同一 block 数据粘贴到其下方两次(或更多)

vba - 通过合并现有行创建新行 excel

excel - VBA错误处理: How to bypass line that has error and stops code?

mysql - Highcharts Mysql Json 数组 PHP

java - 将多维数组中的文本替换为 Java 中另一个多维数组中的另一个文本

c - C 中的结构数组

c# - 声明一个文本框数组

excel - 过滤另一个日期后的 future 2 周展望

Java HttpServlet如何下载excel文件

vba - Excel VBA检查插件是否已安装但未打开