返回列表 上一主題 發帖

[發問] 如何將每列30行的單元格順序排列?

[發問] 如何將每列30行的單元格順序排列?

Text.zip (41.5 KB)

疑問: 1) 如何將每頁的每30,行的單元格順痑排下去?
         2) 如何清除單元格內的多餘文字: 數字, 符號?

  1. Sub test()
  2. Dim i As Integer, j As Integer, k As Integer, ar(), dic As Object

  3. [j1:k65536] = ""

  4. For i = 1 To [IV1].End(xlToLeft).Column Step 2
  5.     For j = 1 To [a65536].End(xlUp).Row Step 30
  6.     ar = Range(Cells(j, i), Cells(j + 29, i + 1))
  7.         For k = 1 To UBound(ar)
  8.         If Not ar(k, 1) Like "*部" Then
  9.         ar(k, 1) = Left(ar(k, 1), 1)
  10.         End If
  11.         Next

  12. If [j65536].End(xlUp).Address = "$J$1" Then
  13. [j65536].End(xlUp).Resize(UBound(ar), 2) = Application.Transpose(Application.Transpose(ar))
  14. Else
  15. [j65536].End(xlUp).Offset(1).Resize(UBound(ar), 2) = Application.Transpose(Application.Transpose(ar))
  16. Erase ar
  17. End If

  18. Next
  19. Next

  20. End Sub
複製代碼
試試這個
80 字節以內
不支持自定義 Discuz! 代碼

TOP

我覺得是這樣排列
  1. Sub ex()
  2. Dim s%
  3. [J:IV] = ""
  4. Cells.Replace "(*)", ""
  5. r = [a65536].End(xlUp).Row
  6. For i = 1 To r Step 30
  7.    For k = 1 To 7 Step 2
  8.    ar = Cells(i, k).Resize(30, 2).Value
  9.    h = IIf(k = 1, 1, IIf(k = 3, 31, IIf(k = 5, 61, 91)))
  10.    Cells(h, 10 + s * 2).Resize(30, 2) = Application.Transpose(Application.Transpose(ar))
  11.    Next
  12.    s = s + 1
  13. Next
  14. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# Hsieh


版主您好!!
謝謝您的解答, 但我看不明白哦,
我又無法下載此檔案,
可否麻煩您將檔案寄給我
謝謝您!!
感激不盡

TOP

回復 4# Qin
按下 2樓 ,3樓  最底端 複製代碼  將程式碼 貼到excel檔案 的 VBA視窗 ,再按F5 執行程式

TOP

回復 4# Qin

既然是在一般區發問,同樣用函數解決看看
定義名稱
x=INT((ROW()-1)/30)
y=CHOOSE(x+1,1,3,5,7)
z=MOD(ROW()-1,30)+1+INT((COLUMN(!A$1)-1)/2)*30
J1公式
=INDIRECT("R"&z&"C"&y+MOD(COLUMN(A$1)+1,2),0)&""
向下複製到J120
J1:J120向右複製    Text.rar (98.3 KB)
學海無涯_不恥下問

TOP

關於清除括號及數字如圖操作
test.gif
學海無涯_不恥下問

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題