vba - 用于数据转换的 Excel 帮助
问题描述
需要 Excel 帮助:我的 excel 表包含以下格式的数据。
From/to | C1 | C2 | C3 |
---------------------------
R1 | 30 | 31 | 32 |
R2 | 40 | 41 | 42 |
我想使用 micros/VBA 脚本或 excel 中的任何其他功能以以下格式重新排列它们。
S.no | From| TO |Rate|
-------------------------
1 | R1 | C1 | 30 |
2 | R1 | C2 | 31 |
3 | R1 | C3 | 32 |
4 | R2 | C1 | 40 |
5 | R2 | C2 | 41 |
6 | R2 | C3 | 42 |
感谢您在无需手动操作的情况下重新排列 excel 的任何帮助
解决方案
测试如下。
Sub transData()
Dim vDB, vR()
Dim i As Long, r As Long, j As Integer
Dim n As Long
vDB = Range("a1").CurrentRegion
r = UBound(vDB, 1)
For i = 2 To r
For j = 2 To 4
n = n + 1
ReDim Preserve vR(1 To 4, 1 To n)
vR(1, n) = n
vR(2, n) = vDB(i, 1)
vR(3, n) = vDB(1, j)
vR(4, n) = vDB(i, j)
Next j
Next i
Sheets.Add
Range("a1").Resize(1, 4) = Array("S.no", "From", "TO", "Rate")
Range("a2").Resize(n, 4) = WorksheetFunction.Transpose(vR)
End Sub
推荐阅读
- import - 我无法导入另一个文件
- javascript - SASS 部分导入在反应中不起作用
- python - Seaborn ValueError:“顶点”必须是形状为 Nx2 的 2D 列表或数组
- google-maps - Google Maps Android API:授权失败。确保启用了“Google Maps Android API v2”。确保以下 Android Key 存在
- python - Pygame:如何在按下键之前显示图像
- python - 如何让我的循环遍历我的列表?
- php - Symfony 3.4 处理多个输入问题
- reactjs - 在 Private Routes 中 React Rendering 两次
- python - 有没有办法将 multi_index 转换为 int 字符串/列表/数组?
- sql - ORACLE SQL 查询以两小时为基础获取间隔为 30 分钟的行