Private Sub CommandButton1_Click()
Dim Sh2 As Worksheet, myRng As Range, m%, n%, i&, myC As New Collection
On Error Resume Next
Set Sh2 = Sheet2
i = Sh2.[F65536].End(xlUp).Row
Sh2.Range("F1:O" & i).Sort Key1:=Sh2.Range("F2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
For n = 2 To i
myC.Add Sh2.Cells(n, "F"), CStr(Sh2.Cells(n, "F"))
Next
n = 0
For n = 1 To myC.Count
Sh2.Range("F1:O" & i).AutoFilter Field:=1, Criteria1:=myC.Item(n)
m = Sh2.[F65536].End(xlUp).Row
[K3] = " " & Sh2.Cells(m, "P")
[F3] = " " & Sh2.Cells(m, "G")
[I3] = " " & Sh2.Cells(m, "H")
[C3] = " " & Sh2.Cells(m, "I")
[C4] = " " & Sh2.Cells(m, "J")
[I4] = " " & Sh2.Cells(m, "Q")
[F4] = " " & Sh2.Cells(m, "R")
[A6:M10] = ""
Set myRng = Sh2.Range("F2:0" & m).SpecialCells(xlCellTypeVisible)
myRng.Copy [A6]
Sheet1.PrintOut
Next
Sh2.Range("S1:O" & i).AutoFilter
End Sub
uj5u.com熱心網友回復:
希望各位大神幫忙解決下這個很簡單的問題,菜鳥還是初學者,有點搞不懂uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
你是初學者又怎么知道這個問題很簡單呢?
uj5u.com熱心網友回復:
On Error Resume Next這句害死你了。把這句注釋掉,然后跑起來看看有沒有報錯。
如果沒有報錯就單步跟蹤,每一句都看看相關變數的值是不是你想要的。
uj5u.com熱心網友回復:
不會寫,至少也會看的懂一點
uj5u.com熱心網友回復:
On Error Resume Next
這句害死你了。把這句注釋掉,然后跑起來看看有沒有報錯。
如果沒有報錯就單步跟蹤,每一句都看看相關變數的值是不是你想要的。
注釋掉就開始報錯, Set myRng = Sh2.Range("F2:0" & m).SpecialCells(xlCellTypeVisible) 應用程式定義錯誤
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/38695.html
標籤:VBA
