返回列表 上一主題 發帖

[發問] 篩選資料問題?

[發問] 篩選資料問題?

本帖最後由 idsmchow 於 2011-12-27 00:14 編輯

請問如何修改以下的巨集??

Private Sub CommandButton1_Click()
Dim eachsht As Worksheet, eachrng As Range, tmpTbl As Range
For Each eachsht In Worksheets
If eachsht.Name <> "Statement" Then
Set eachrng = Sheets("Statement").Range("a65536").End(xlUp).Offset(1)
Set tmpTbl = eachsht.Range("a2").CurrentRegion
eachsht.Range("a2").CurrentRegion.AutoFilter Field:=3, Criteria1:=Sheets("Statement").Range("G2"), Operator:=xlAnd
tmpTbl.Rows("2:" & tmpTbl.Rows.Count).Copy eachrng
End If
Next
End Sub

當乎合條件的要求, 例如 "AA Ltd" 條件都在 Jan , Feb. Mar Sheet - 資料表出現的話, 這巨集就能正確篩選所需的資料及複製到Statement Sheet.

但條件不乎合資料表的話 例如 "EE Ltd" 這巨集就會將所有沒有關係的資料一併轉寫.

問題是否出於 ' tmpTbl.Rows("2:" & tmpTbl.Rows.Count)' 這一句上?

請問如何修正?

謝謝

Statement.rar (129.36 KB)

問題已解決, 謝謝各位的回覆

但register313 的答案
tmpTbl.Rows("2:" & tmpTbl.Rows.Count +1)
好像不正確

TOP

回復 5# register313


    Hi register313,

你的解答是正確, 只是自己改動了一些格式, 而導致出現問題.
本人是初學者, 剛剛買了幾本書自學, 日後請多多指教.

對於日前的說法, 請多多包涵

再次謝謝

TOP

回復 8# Hsieh


    超級版主 所寫的巨集有部份語法, 在我購買的書本中沒有提及過。例如On Then. Intersect. 比較高深

對於我(初學者)來說, 需要時間理解。

謝謝大家回覆。

TOP

我自己也從書本中,將一些巨集修改,寫了一個巨集,不知是否正確。
希望大家修改,給一些意見

Sub Click()
Dim eachsht As Worksheet, eachrng As Range, tmpTbl As Range
Dim myFld As Integer, I As Integer, Q As Range

For Each eachsht In Worksheets
If eachsht.Name <> "Statement" Then

Set eachrng = Sheets("Statement").Range("a65536").End(xlUp).Offset(1)
Set tmpTbl = eachsht.Range("a2").CurrentRegion
Set Q = Sheets("Statement").Range("G2")
myFld = 3

For I = 2 To 180
If tmpTbl.Cells(I, myFld).Value = Q Then
eachsht.Range("a2").CurrentRegion.AutoFilter Field:=3, Criteria1:=Q, Operator:=xlAnd
tmpTbl.Rows("2:" & tmpTbl.Rows.Count).Copy eachrng
End If
Next

End If
Next

End Sub

TOP

        靜思自在 : 【為善競爭】人生要為善競爭,分秒必爭。
返回列表 上一主題