|
本帖最后由 LIUZHU 于 2024-4-28 17:22 编辑
VBA代码,供参考
- Sub VBA转换()
- Dim Arr(), Brr(), Crr()
- Dim i&, j&, k&, m&
-
- Arr = Range("A1").CurrentRegion.Value
- ReDim Brr(1 To UBound(Arr) * 4, 1 To UBound(Arr, 2))
- Crr = Array(3, 3, 4, 4)
- For i = 2 To UBound(Arr)
- For k = 0 To UBound(Crr)
- If Arr(i, Crr(k)) = 0 Then GoTo 100
- m = m + 1
- For j = 1 To UBound(Arr, 2)
- Brr(m, j) = Arr(i, j)
- Next j
- Brr(m, 1) = m: Brr(m, 3) = Arr(i, Crr(k)): Brr(m, 4) = Empty
- 100:
- Next k
- Next i
- Range("K1").Resize(1, UBound(Arr, 2)).Value = Range("A1").Resize(1, UBound(Arr, 2)).Value
- Range("K2").Resize(m, UBound(Brr, 2)).Value = Brr
- End Sub
复制代码 |
|