excel - 我怎样才能把这个数据集转换成这个特定的顺序?
问题描述
我正在使用Excel 2016
,我有一个包含 492 行且没有标题的数据集。数据从 Cell 开始A1
。
数据集的摘录如下所示:
我想转置这个数据集,使它变成这种格式:
我是新手,VBA
很难找到正确的解决方案。我已经尝试将转置记录为Macro
(逐步)并查看了VBA
代码,但我仍然无法将其组合在一起。
解决方案
试试这个代码,但在你调整顶部的两个常量以匹配工作表上的事实之前。执行代码时,包含数据的工作表必须处于活动状态。
Sub TransposeData()
Const FirstDataRow As Long = 2 ' presuming row 1 has headers
Const YearColumn As String = "A" ' change as applicable
Dim Rng As Range
Dim Arr As Variant, Pos As Variant
Dim Rl As Long, Cl As Long
Dim R As Long, C As Long
Dim i As Long
With ActiveSheet
Cl = .UsedRange.Columns.Count - .UsedRange.Column + 1
Rl = .Cells(.Rows.Count, Columns(YearColumn).Column).End(xlUp).Row
Set Rng = Range(.Cells(FirstDataRow, YearColumn), .Cells(Rl, Cl))
End With
Arr = Rng.Value
ReDim Pos(1 To (UBound(Arr) * UBound(Arr, 2)), 1 To 2)
For R = 1 To UBound(Arr)
For C = 2 To UBound(Arr, 2)
i = i + 1
Pos(i, 1) = Arr(R, 1)
Pos(i, 2) = Arr(R, C)
Next C
Next R
R = Rl + 5 ' write 5 rows below existing data
Set Rng = ActiveSheet.Cells(R, YearColumn).Resize(i, 2)
Rng.Value = Pos
End Sub
推荐阅读
- flutter - 飞镖中的多级地图或地图列表?
- java - 从 Active Directory 检索密码到期警告
- ansible - 访问 json_query 中包含特殊字符的字段
- celery - 芹菜:无法通过烧瓶调用任务,在烧瓶外工作
- umbraco - Ucommerce 解析 niceurl 或设置上下文
- python - 如何使用Python获取XML文件中child->child->child->child的内容
- ios - 如何在 Swift 5 和 iOS 13 中使用 CIFilter sunbeamsGenerator?
- javascript - 设定日期的年初?
- node.js - Firebase 存储文件下载在一段时间后停止工作
- javascript - 使用 setValue() 时 InstallableTriger 不会触发