Excel数据格式
我正在努力格式化下表。目标是从表1转到表2。下图显示了一个来自大型数据集的示例。如何将表1转换为表2?谢谢。您没有转换数据(沿X=-y对角线翻转数据);您正在将二维范围转换为一维范围Excel数据格式,excel,vba,Excel,Vba,我正在努力格式化下表。目标是从表1转到表2。下图显示了一个来自大型数据集的示例。如何将表1转换为表2?谢谢。您没有转换数据(沿X=-y对角线翻转数据);您正在将二维范围转换为一维范围 此外,这一点已经得到了回答:我想你想要的是一个取消预约。它实际上是Excel 2013中的原生版本,但对于之前的版本,您必须修改自己的版本。下面是一个基于一些示例数据的基本示例。如果你做一些小的调整来适应你的实际射程位置,这应该能让你达到90%的射程 Sub Unpivot() Dim headerRow,
此外,这一点已经得到了回答:我想你想要的是一个取消预约。它实际上是Excel 2013中的原生版本,但对于之前的版本,您必须修改自己的版本。下面是一个基于一些示例数据的基本示例。如果你做一些小的调整来适应你的实际射程位置,这应该能让你达到90%的射程
Sub Unpivot()
Dim headerRow, row, newRow, col As Integer
Dim ws1, ws2 As Worksheet
Set ws1 = Sheets(1)
Set ws2 = Sheets(2)
headerRow = 2
row = 4
newRow = 4
While ws1.Cells(row, 1).Value <> ""
col = 5
While (ws1.Cells(headerRow, col) <> "")
ws2.Range("A" & newRow & ":D" & newRow).Value = _
ws1.Range("A" & row & ":D" & row).Value
ws2.Cells(newRow, 5).Value = ws1.Cells(headerRow, col).Value
ws2.Cells(newRow, 6).Value = ws1.Cells(row, col).Value
newRow = newRow + 1
col = col + 1
Wend
row = row + 1
Wend
End Sub
Sub Unpivot()
Dim headerRow、row、newRow、col为整数
将ws1、ws2标注为工作表
设置ws1=图纸(1)
设置ws2=图纸(2)
headerRow=2
行=4
纽罗=4
而ws1.Cells(行,1.Value“”
col=5
While(ws1.Cells(headerRow,col)”)
ws2.Range(“A”&newRow&“:D”&newRow)。值=_
ws1.Range(“A”&行&“:D”&行).Value
ws2.Cells(newRow,5).Value=ws1.Cells(headerRow,col).Value
ws2.Cells(newRow,6).Value=ws1.Cells(row,col).Value
newRow=newRow+1
col=col+1
温德
行=行+1
温德
端接头
示例输入,包括行和列:
样本输出:
我感谢您的回复,请您在我的示例中演示一下。我是一个初学者,在链接中尝试了这个公式,但没有成功。