返回列表 上一主題 發帖

[發問] 不規則資料,如何重整.....

回復 4# GBKEE

謝謝 各位大大的協助,幫了大忙了,謝謝~

TOP

回復 3# b31978
試試看
  1. '一般模組程式碼
  2. Option Explicit
  3. Sub Ex()
  4.     Dim Rng As Range, C As Range, S, Ar(), At(), i As Integer
  5.     Set Rng = ActiveSheet.Range("A3")
  6.     Do While Rng <> ""
  7.         With Rng.Offset(, 2).Resize(Rng.MergeArea.Count, 7)
  8.         'Rng.MergeArea 儲存格的合併範圍
  9.         'Rng.MergeArea.Count 合併範圍的Cells總計
  10.             If Application.CountA(.Cells) > 0 Then '.Cells :這 With 物件範圍Range的Cells
  11.                 '工作表函數 CountA 計算範圍內有資料的Cells個數
  12.                 For Each C In .SpecialCells(xlCellTypeConstants)
  13.                     'SpecialCells 特殊儲存格 (xlCellTypeConstants :字串,數字 )
  14.                     ReDim Ar(1 To 4)      '重置陣列
  15.                     Ar(1) = Rng.Value
  16.                     Ar(2) = Cells(2, C.Column)
  17.                     Ar(3) = C
  18.                     Ar(4) = Cells(C.Row, "j")
  19.                     i = i + 1
  20.                     ReDim Preserve At(1 To i)  '重置陣列:Preserve保留原有的元素
  21.                     At(i) = Ar
  22.                 Next
  23.             End If
  24.         End With
  25.         Set Rng = Rng.End(xlDown) '下一個有合併範圍的Range
  26.     Loop
  27.     If i > 0 Then [M3].Resize(i, 4) = Application.Transpose(Application.Transpose(At))
  28. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# lpk187

感謝,想了很久,一直沒有有效的思路,謝謝大大~ 感恩:D

TOP

回復 1# b31978


    試試看,也不知對不對!
  1. Public Sub test()
  2. Dim arr()
  3. aa = Cells(Rows.Count, 10).End(xlUp).Row
  4. xx = WorksheetFunction.CountA(Range("J3:J" & aa))
  5. i = 1
  6. ReDim arr(1 To xx, 1 To 4)
  7. For Each Rng In Range("C3:i" & aa)
  8.     If Rng <> "" Then
  9.         ss = Cells(Rng.Row, 1).MergeArea
  10.         arr(i, 1) = ss(1, 1)
  11.         arr(i, 2) = Cells(2, Rng.Column)
  12.         arr(i, 3) = Rng
  13.         arr(i, 4) = Cells(Rng.Row, 10)
  14.         i = i + 1
  15.     End If
  16. Next
  17. Range("M3").Resize(xx, 4) = arr
  18. End Sub
複製代碼

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題