我一直在寻找一个从长到长的格式代码,现在在这里发现了非常有用的东西。我已经接受了它并对其进行了一些修改以应用于我的数据...完美地工作。
我的问题是,我在哪里添加工作表选择?即我希望能够从不同页面上的按钮运行宏。目前,代码仅在从原始资料单执行时才有效。
Sub Wide_To_Long()
Dim Rng As Range, Dn As Range, Dta, col As Integer
Dim c As Integer, LastDt As Integer, LastVis As Integer
LastDt = Cells("1", Columns.Count).End(xlToLeft).Column
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
ReDim Ray(1 To Rng.Count * LastDt, 1 To LastDt)
For Each Dn In Rng
LastVis = Cells(Dn.Row, Columns.Count).End(xlToLeft).Column
For col = 8 To LastVis
c = c + 1
For Dta = 0 To 8
Select Case Dta
Case Is = 7
Ray(c, Dta + 1) = Cells(1, col)
Case Is = 8
Ray(c, Dta + 1) = Dn.Offset(, col - 1)
Case Else
Ray(c, Dta + 1) = Dn.Offset(, Dta)
End Select
Next Dta
Next col
Next Dn
Sheets("Sheet2").Range("A2").Resize(c, LastDt).Value = Ray
End Sub
答案 0 :(得分:0)
可能有更好的做法(如果来自Lowpar知道在哪里进行更改),但我发现在第一次调暗之前插入一张纸("")。选择到纸张工作得很好。