如何在Excel中将列转换为行
我有以下Excel工作表:如何在Excel中将列转换为行,excel,vba,Excel,Vba,我有以下Excel工作表: A 1 foo 2 bar 3 baz 4 bam (事实上,该栏要长得多,这使得手动转位不再是一种选择)。如何将这张表转换为 A B C D 1 foo bar baz bam 我已尝试使用数据透视表函数,但无法获得所需的输出。我还可以编写一个(php)脚本来读取和转换Excel,但我无法想象这在Excel中是不容易做到的。然而,我一直无法找到这个问题的答案。你能帮忙吗?如果你只需要转置数据(即无格式),试试这个 有两种简单的非编程方式:
A
1 foo
2 bar
3 baz
4 bam
(事实上,该栏要长得多,这使得手动转位不再是一种选择)。如何将这张表转换为
A B C D
1 foo bar baz bam
我已尝试使用数据透视表函数,但无法获得所需的输出。我还可以编写一个(php)脚本来读取和转换Excel,但我无法想象这在Excel中是不容易做到的。然而,我一直无法找到这个问题的答案。你能帮忙吗?如果你只需要转置数据(即无格式),试试这个
有两种简单的非编程方式:
转置
工作表功能:选择转置大小的范围(在您的示例中为1行x 4列,并输入=转置(A1:A4)
。您需要将其作为数组公式输入,即按Ctrl-Shift-enter键Sub CopyTransposed(rngSource As Range, rngTargetCell As Range)
rngTargetCell.Resize(rngSource.Columns.Count, rngSource.Rows.Count).Value = _
Application.WorksheetFunction.Transpose(rngSource)
End Sub
您可以简单地这样称呼它:
CopyTransposed [A1:A4], [C1]
或者更明确一点
CopyTransposed Sheets("SourceSheet").Range("A1:A4"),Sheets("TargetSheet").Range("C1")
Ctrl+C使用“特殊粘贴”进行复制和粘贴。单击对话框上的“转置”
这会将其粘贴为值,但是……您可以使用右键单击菜单复制并进行特殊转置,或者您需要在VBA中执行此操作吗?
CopyTransposed Sheets("SourceSheet").Range("A1:A4"),Sheets("TargetSheet").Range("C1")