我已经尝试了一切,这似乎不起作用。我有一个电子表格,其中垂直第一列的数据需要水平转置。
完成这项工作的最快方法是什么?
编辑:我能够使用以下宏暂时解决我的问题:
Sub CopyTranspose()
Application.ScreenUpdating = False
Dim LastRow, x, y As Long
LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
y = 3
For x = 2 To LastRow Step 48
Range(Cells(x, 4), Cells(x + 47, 2)).Copy
Sheets("Sheet1").Cells(y, 2).PasteSpecial Transpose:=True
y = y + 1
Next x
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
上述解决方案假设所有日子都是统一的,有48个时间间隔。但现在我需要一个更具动态性的宏:一个可以找到日期的宏1/1/17并将其与间隔时间和总数相匹配。因此,也就是说,间隔少于48的天数(例如夏令时缺少一小时)将在缺失的凌晨2点至凌晨3点间返回0(或空值)。
任何想法?
答案 0 :(得分:1)
dim r as range
set r = your range here
r.copy
range(your destination).PasteSpecial Transpose:=True