返回列表 上一主題 發帖

[求助]如何篩選較佳

本帖最後由 GBKEE 於 2012-2-16 08:20 編輯

回復 1# baa168
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xR As Integer, xMonth As Integer, Ar(), xAr As Integer
  4.     xR = 4                                           '第4列
  5.     ReDim Ar(1, xAr)                                 '重新宣告  AR(0 TO 1,0) 二維陣列
  6.     Ar(0, xAr) = "日期"                              'Ar(0, 0) = "日期"
  7.     Ar(1, xAr) = "內容"                              'Ar(1, 0) = "內容"
  8.     With ActiveSheet
  9.         xMonth = Month(.Cells(xR, "A"))               '取得 A4月份
  10.         Do While .Cells(xR, "A") <> ""                '執行迴圈條件  不是空白的儲存格
  11.             If Month(.Cells(xR + 1, "A")) <> xMonth Or .Cells(xR + 1, "A") = "" Then
  12.                 '下一列的月份<>這一列的月份  或是  下一列是空白
  13.                  xMonth = Month(.Cells(xR + 1, "A"))    '更改月份的數值
  14.                 xAr = xAr + 1                          '二維陣列 的第二維再加一個元素
  15.                 ReDim Preserve Ar(1, xAr)              '重新宣告  AR(0 TO 1,xAr) 二維陣列
  16.                 'Preserve 選擇性引數。當改變原有陣列最後一維的大小時,仍然保有原來的資料的關鍵字。
  17.                 Ar(0, xAr) = .Cells(xR, "A")           'Ar(0, xAr) = "日期"
  18.                 Ar(1, xAr) = .Cells(xR, "B")           'Ar(0, xAr) = "內容"
  19.             End If
  20.             xR = xR + 1                                 '再往下一列
  21.         Loop
  22.         .Range("G3").CurrentRegion = "" 'CurrentRegion 屬性目前區域是指以任意空白列及空白欄的組合為邊界的範圍。唯讀。
  23.         .Range("G3").Resize(xAr + 1, 2) = Application.Transpose(Ar)   '運用工作表函數 Transpose (轉置) Ar 陣列
  24.         .Range("G3").Resize(xAr + 1).NumberFormatLocal = "m/d;@"      ' 制訂儲存格 日期格式
  25.     End With
  26. End Sub
複製代碼

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題