Board logo

標題: 把篩選資料貼回工作表1 [打印本頁]

作者: 317    時間: 2012-1-25 19:01     標題: 把篩選資料貼回工作表1

大大們,新年快樂,
請教一個修改程式問題, 下列程式是個篩選檔,是把工作表1資料篩選到工作表2,現時我想把篩選資料貼回工作表1aa欄位開始, 該如何修改, 請大大協助, 謝謝!!
Private Rng
Private Sub ComboBox1_Change()
[IU1] = Rng(2)
[IU2] = "*" & ComboBox1 & "*"
If ComboBox1 = "" Then [IU2] = "<>"
End Sub
Private Sub ComboBox2_Change()
If ComboBox2 = "" Then
[IV1] = Rng(3)
[IV2] = "<>"
Else
[IV1] = Rng(3) & "A"
[IV2] = "=YEAR(" & Rng(3) & ")=" & ComboBox2
End If
End Sub

Private Sub CommandButton1_Click()
Range("A4").CurrentRegion = ""
Rng.AdvancedFilter xlFilterCopy, [IU1:IU2], [A4]
End Sub
Private Sub CommandButton2_Click()
Range("A4").CurrentRegion = ""
Rng.AdvancedFilter xlFilterCopy, [IV1:IV2], [A4]
End Sub

Private Sub Worksheet_Activate()
Dim AA As String, MA, MI
Set Rng = Sheet2.Range("A2").CurrentRegion
ComboBox1.List = Rng.Columns(2).Offset(1).Value
AA = Rng.Columns(3).Offset(1).Address
MA = Format(Application.Max(Sheet2.Range(AA)), "YYYY")
MI = Format(Application.Min(Sheet2.Range(AA)), "YYYY")
ComboBox2.Clear
For I = MI To MA
ComboBox2.AddItem I
Next
End Sub
作者: kimbal    時間: 2012-1-25 19:11

大大們,新年快樂,
請教一個修改程式問題, 下列程式是個篩選檔,是把工作表1資料篩選到工作表2,現時我想把篩 ...
317 發表於 2012-1-25 19:01



試試把AdvancedFilter改成這個樣子?
Rng.AdvancedFilter xlFilterCopy, [IU1:IU2], worksheets("工作表1").range("A4")
作者: 317    時間: 2012-1-25 22:10

b]回復 2# kimbal
謝謝大大教導, 但我功力很淺, 不成功, 現把該檔上傳, 內有明細, 請大大們再度協助, 謝謝!!

[attach]9309[/attach]
作者: Hsieh    時間: 2012-1-26 01:08

回復 3# 317


    程式碼放在Sheets(a)模組內
[attach]9310[/attach]
作者: 317    時間: 2012-1-26 07:10

回復 4# Hsieh

請教大大, 程式碼放在Sheets(a)模組內, 一般模組都是module , 而Sheets(a)模組放於哪位置, 請教導, 謝謝!
作者: GBKEE    時間: 2012-1-26 08:15

回復 5# 317
Sheets(a)於VBA中是物件(工作表物件) : 物件模組
ThisWorkbook 也是 ,物件模組 (活頁簿物件)
VBA中Sheets(a)它的CodeName 是Sheet2 : CodeName 屬性: 指定物件的代碼名稱。唯讀 String。
作者: Hsieh    時間: 2012-1-26 11:23

本帖最後由 Hsieh 於 2012-1-26 11:37 編輯

回復 5# 317
這類的問題要釐清幾個觀念
1.你的程式碼都是利用事件程序,所以,必須清楚的知道物件所屬的工作表
例如:ComboBox及CommandButton等物件都是在Sheet2(a)工作表內的物件,所以,他們的事件必須在該工作表模組內才可觸發。
2.Worksheet_Activate事件是工作表作用時所觸發,而你程式碼內容就是在工作表a作用時將ComboBox的內容重新布置,所以必須是在工作表a模組內使用。
3.在活頁簿模組(Thisworkbook)或一般模組(Module)內則必須指定工作表。
[attach]9311[/attach]
作者: 317    時間: 2012-1-26 19:35

Hsieh大大,GBKEE大大, 2位大大安好, 先祝賀新年快樂,
看過两位大大答覆, 相信需要時間研究, 基於檔案急於完成, 懇請大大們協助, 其實我想要的是想把資料篩選於同一表內au欄位上,
Hsieh大大,回覆的附檔, 我試過後, 資料還是篩選於工作表2上, 故再度請求協助, 從两位大大答覆也知道原因所在, 但因功力淺,
需要時間了解, 最後希望能協助, 謝謝
[attach]9313[/attach]
作者: Hsieh    時間: 2012-1-26 22:32

回復 8# 317
工作表b是多餘的

    [attach]9314[/attach]
作者: 317    時間: 2012-1-27 07:34

回復 9# Hsieh
謝謝版主大大, 衷心感謝, 祝快樂




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