Board logo

標題: [發問] 如何將每列30行的單元格順序排列? [打印本頁]

作者: Qin    時間: 2011-3-27 12:02     標題: 如何將每列30行的單元格順序排列?

[attach]5129[/attach]

疑問: 1) 如何將每頁的每30,行的單元格順痑排下去?
         2) 如何清除單元格內的多餘文字: 數字, 符號?
作者: FAlonso    時間: 2011-3-27 13:46

  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
複製代碼
試試這個
作者: Hsieh    時間: 2011-3-27 16:04

我覺得是這樣排列
  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
複製代碼

作者: Qin    時間: 2011-3-27 16:51

回復 3# Hsieh


版主您好!!
謝謝您的解答, 但我看不明白哦,
我又無法下載此檔案,
可否麻煩您將檔案寄給我
謝謝您!!
感激不盡
作者: GBKEE    時間: 2011-3-27 17:12

回復 4# Qin
按下 2樓 ,3樓  最底端 複製代碼  將程式碼 貼到excel檔案 的 VBA視窗 ,再按F5 執行程式
作者: Hsieh    時間: 2011-3-27 22:41

回復 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向右複製   [attach]5136[/attach]
作者: Hsieh    時間: 2011-3-27 23:03

關於清除括號及數字如圖操作
[attach]5137[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)