สอบถามกระจายข้อมูลออกเป็นหลาย sheet
Posted: Tue Feb 18, 2020 2:29 pm
รบกวนหน่อยครับอาจารย์ผมใส่ Code ดังนี้ แล้ว error ตรง s.Name = r.Value และกระจายได้แค่ sheet เดียวเองครับ
Sub DistributeDataToSheets()
Dim r As Range, d As Object, s As Worksheet
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For Each s In Worksheets
If s.Name <> Sheets(1).Name Then
s.Delete
End If
Next s
With Sheets(1)
For Each r In .Range("b2", .Range("b" & .Rows.Count).End(xlUp))
If Not d.Exists(r.Value) Then
Set s = Worksheets.Add(after:=Worksheets(Sheets.Count))
s.Name = r.Value
s.Range("f1").Value = "Department Code"
s.Range("f2").Value = r.Value
.UsedRange.AdvancedFilter xlFilterCopy, _
s.Range("f1:f2"), s.Range("a1")
s.Range("f1:f2").Clear
End If
Next r
End With
Application.ScreenUpdating = True
MsgBox "Finish", vbInformation
End Sub
Dim r As Range, d As Object, s As Worksheet
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For Each s In Worksheets
If s.Name <> Sheets(1).Name Then
s.Delete
End If
Next s
With Sheets(1)
For Each r In .Range("b2", .Range("b" & .Rows.Count).End(xlUp))
If Not d.Exists(r.Value) Then
Set s = Worksheets.Add(after:=Worksheets(Sheets.Count))
s.Name = r.Value
s.Range("f1").Value = "Department Code"
s.Range("f2").Value = r.Value
.UsedRange.AdvancedFilter xlFilterCopy, _
s.Range("f1:f2"), s.Range("a1")
s.Range("f1:f2").Clear
End If
Next r
End With
Application.ScreenUpdating = True
MsgBox "Finish", vbInformation
End Sub