標題:
[求助]如何篩選較佳
[打印本頁]
作者:
baa168
時間:
2012-2-11 19:41
標題:
[求助]如何篩選較佳
Dear All:
1.將A區每個月最後一週提出如黃色標示部份
2.將日期去年份顯示
以上
請協助
Thanks.
作者:
GBKEE
時間:
2012-2-11 21:24
本帖最後由 GBKEE 於 2012-2-16 08:20 編輯
回復
1#
baa168
試試看
Option Explicit
Sub Ex()
Dim xR As Integer, xMonth As Integer, Ar(), xAr As Integer
xR = 4 '第4列
ReDim Ar(1, xAr) '重新宣告 AR(0 TO 1,0) 二維陣列
Ar(0, xAr) = "日期" 'Ar(0, 0) = "日期"
Ar(1, xAr) = "內容" 'Ar(1, 0) = "內容"
With ActiveSheet
xMonth = Month(.Cells(xR, "A")) '取得 A4月份
Do While .Cells(xR, "A") <> "" '執行迴圈條件 不是空白的儲存格
If Month(.Cells(xR + 1, "A")) <> xMonth Or .Cells(xR + 1, "A") = "" Then
'下一列的月份<>這一列的月份 或是 下一列是空白
xMonth = Month(.Cells(xR + 1, "A")) '更改月份的數值
xAr = xAr + 1 '二維陣列 的第二維再加一個元素
ReDim Preserve Ar(1, xAr) '重新宣告 AR(0 TO 1,xAr) 二維陣列
'Preserve 選擇性引數。當改變原有陣列最後一維的大小時,仍然保有原來的資料的關鍵字。
Ar(0, xAr) = .Cells(xR, "A") 'Ar(0, xAr) = "日期"
Ar(1, xAr) = .Cells(xR, "B") 'Ar(0, xAr) = "內容"
End If
xR = xR + 1 '再往下一列
Loop
.Range("G3").CurrentRegion = "" 'CurrentRegion 屬性目前區域是指以任意空白列及空白欄的組合為邊界的範圍。唯讀。
.Range("G3").Resize(xAr + 1, 2) = Application.Transpose(Ar) '運用工作表函數 Transpose (轉置) Ar 陣列
.Range("G3").Resize(xAr + 1).NumberFormatLocal = "m/d;@" ' 制訂儲存格 日期格式
End With
End Sub
複製代碼
作者:
Hsieh
時間:
2012-2-11 21:33
本帖最後由 Hsieh 於 2012-2-11 21:36 編輯
回復
1#
baa168
Sub nn()
Set d = CreateObject("Scripting.Dictionary")
d("日期") = Array("日期", "內容")
For Each a In Range("A4", [A65536].End(xlUp))
mystr = Format(a, "yyyymm")
d(mystr) = Array(a.Value, a.Offset(, 1).Value)
Next
[G:H] = ""
[G3].Resize(d.Count, 2) = Application.Transpose(Application.Transpose(d.items))
End Sub
複製代碼
作者:
register313
時間:
2012-2-11 21:34
本帖最後由 register313 於 2012-2-11 21:41 編輯
回復
1#
baa168
Sub AA()
Columns("G:H") = ""
[G3] = "日期": [H3] = "內容"
T = 4
For R = 4 To Range("A65536").End(xlUp).Row
If (Month(Cells(R, "A")) <> Month(Cells(R + 1, "A"))) Or (R = Range("A65536").End(xlUp).Row) Then
Cells(T, "G") = Right(Cells(R, "A"), Len(Cells(R, "A")) - 5)
Cells(T, "G").NumberFormatLocal = "m/d;@"
Cells(T, "H") = Cells(R, "B")
T = T + 1
End If
Next R
End Sub
複製代碼
作者:
baa168
時間:
2012-2-11 22:48
感謝各位大大大力的協助...baa先消化一下...
作者:
baa168
時間:
2012-2-15 21:25
Hsieh大跟register313大均出現錯誤訊息..不知是不是baa搞錯了.....
作者:
baa168
時間:
2012-2-15 21:27
GBKEE大不知是否可以請您解釋一下程式內容...研究了兩天還是沒能了解...看來是超過了baa對VBA的程度了...感謝...
作者:
baa168
時間:
2012-2-19 17:55
感謝GBKEE的協助...消化中...
作者:
baa168
時間:
2012-3-15 18:25
請教各位先進
若要將所篩選資料顯示至Sheet2,該如何進行
感謝
作者:
register313
時間:
2012-3-15 21:13
回復
9#
baa168
Sub AA()
Sheets("Sheet2").Columns("A:B") = ""
Sheets("Sheet2").[A3] = "日期": Sheets("Sheet2").[B3] = "內容"
T = 4
With Sheets("Sheet1")
For R = 4 To .Range("A65536").End(xlUp).Row
If (Month(.Cells(R, "A")) <> Month(.Cells(R + 1, "A"))) Or (R = .Range("A65536").End(xlUp).Row) Then
Sheets("Sheet2").Cells(T, "A") = Right(.Cells(R, "A"), Len(.Cells(R, "A")) - 5)
Sheets("Sheet2").Cells(T, "A").NumberFormatLocal = "m/d;@"
Sheets("Sheet2").Cells(T, "B") = .Cells(R, "B")
T = T + 1
End If
Next R
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)