EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub FilterToCriteria1()
With Sheet1
.AutoFilterMode = False
With .Range("A1:I1")
.AutoFilter
.AutoFilter Field:=5, Criteria1:="14"
.AutoFilter Field:=8, Criteria1:="<>17"
.Range("A" & Rows.Count).End(xlUp).Select
.Range(Selection, Selection.End(xlUp)).Select
.Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheet2.Range("a1").PasteSpecial Paste:=xlPasteValues
End With
Sheet1.ShowAllData
With .Range("A1:I1")
.AutoFilter
.AutoFilter Field:=5, Criteria1:="14"
.AutoFilter Field:=9, Criteria1:="<>18"
.Range("A" & Rows.Count).End(xlUp).Select
.Range(Selection, Selection.End(xlUp)).Select
.Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheet2.Select
Selection.End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial xlPasteValues
End With
Sheet1.ShowAllData
With .Range("A1:I1")
.AutoFilter
.AutoFilter Field:=5, Criteria1:="5"
Sheet1.Select
.Range("A" & Rows.Count).End(xlUp).Select
.Range(Selection, Selection.End(xlUp)).Select
.Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheet2.Select
Selection.End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial xlPasteValues
End With
Sheet1.ShowAllData
End With
End Sub
Code: Select all
.Range(Selection, Selection.End(xlToRight)).Select
Code: Select all
With Sheet1
.AutoFilterMode = False
With .Range("A1:I1")
.AutoFilter
.AutoFilter Field:=5, Criteria1:="14"
.AutoFilter Field:=8, Criteria1:="<>17"
.Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
With Sheet2
If .Range("a1") <> "" Then
.Range("a" & .Rows.Count).End(xlUp).Offset(1, 0) _
.PasteSpecial Paste:=xlPasteValues
Else
.Range("a1:i1").Value = Sheet1.Range("a1:i1").Value
.Range("a" & .Rows.Count).End(xlUp).Offset(1, 0) _
.PasteSpecial Paste:=xlPasteValues
End If
End With
Application.CutCopyMode = False
Sheet1.AutoFilterMode = False
End With
ขอบคุณครับ ได้ตามที่ต้องการเลยครับsnasui wrote: ตัวอย่าง Code ครับCode: Select all
With Sheet1 .AutoFilterMode = False With .Range("A1:I1") .AutoFilter .AutoFilter Field:=5, Criteria1:="14" .AutoFilter Field:=8, Criteria1:="<>17" .Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy With Sheet2 If .Range("a1") <> "" Then .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0) _ .PasteSpecial Paste:=xlPasteValues Else .Range("a1:i1").Value = Sheet1.Range("a1:i1").Value .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0) _ .PasteSpecial Paste:=xlPasteValues End If End With Application.CutCopyMode = False Sheet1.AutoFilterMode = False End With