我对VBA领域还很陌生,所以请原谅这可能是一个非常简单的问题。
如果您查看图片,我会尽力解释我仍然在挣扎。使用“转置”,我设法使列A成为行1。我需要将列A保留为列A(注意它们是合并的单元格),并且我需要行1保持为行1。基本上,我需要列B转到第2行,然后选择要转置的%数字。
现在看起来像这样: original
我希望它看起来像这样: wanted result
原始表比示例大得多...
答案 0 :(得分:1)
您不应尝试执行您要问的事情。您应该做的就是改变SPSS中的枢纽。将您的A1 / A2 / A3数据点从行更改为列。
您永远都不要使低效率自动化,这对于所有追随您并需要支持它的人来说都是一个困惑。
答案 1 :(得分:0)
一种非常基本的方法是转置复制粘贴,这是基本代码:
Sub TransposeColToRow()
' TransposeColToRow Macro
Range("B3:B14").Select
Selection.Copy
Range("B20").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
您可能可以测试类似的东西,以查看是否刮擦了痒。可以通过避免如下所示的“选择”来改进(假设“复制”范围位于名为“ Sheet 1”的工作表上,而“粘贴”范围位于名为“ Sheet2”的工作表上-当然,这些都需要反映电子表格的真实性):
Dim CopyRange as Range: Set CopyRange = ThisWorkbook.Worksheets("Sheet1").Range("B3:B14")
Dim PasteRange as Range: Set PasteRange = ThisWorkbook.Worksheets("Sheet2").Range("A2:M2")
CopyRange.Copy
PasteRange.PasteSpecial Paste:=xlPasteAll, Transpose:=True