Excel Macro VBA命令用于“转置”,但没有转置可用

我正在尝试更改一组包含头文件的数据。 目前预期的列都在单独的行中。 我想在列A中保留第一个数据点“名称”,但是将第二个数据点“数”移动到列B,第三个数据点“平均”移动到列C.然后删除那些现在为空的两行数字和平均值存在,并重复这个过程的下一组数据。 例:

  • 名称,数量,平均(预期的标题)
  • 玩笑
  • 13
  • 3.4
  • 克雷格
  • 15
  • 2.3
  • 工匠
  • 64
  • 8.3

这是我想要的:

  • 名称,数量,平均(预期的标题)
  • 约什,13,3.4
  • 克雷格,15,2.3
  • 史密斯,64岁,8.3岁

我已经尝试了几件事情:

1)移调…但是由于某种原因,这个PasteSpecial函数在我embedded到的.XLSM文件中不可用。 代码参考:

Worksheets("Sheet1").Range("A1:A5").Copy Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True 

2)复制并粘贴。 这是一个正在进行的工作,代码不能编译。

 For k = 3 To maxRow Step 1 Rows(k).Select Selection.Cut Range(Columns("B"), Rows(k)).Select Selection.Paste Rows(k + 1).Select Selection.Cut Range(Rows(k), Columns(C)).Paste 'Range(Columns("B"), Rows(k)).PasteSpecial Transpose:=True 'Range(Rows(k), Rows(k + 2)).Select 'Selection.Delete Shift:=x1Up Next k 

我至less有一千个数据点。 我的代码能够处理到最后一行,但这是我的macros中的最后一个关键function。 任何帮助感激!

试试这个方法:

 For k = 3 To maxRow Step 3 Sheet2.Cells(Int((k + 1) / 3), 1).Resize(, 3).Value = _ Application.Transpose(Sheet1.Cells(k, 1).Resize(3).Value) Next k