mọi người cho em hỏi ké em muốn tách file ẽcel từ file tổng nếu thoả mãn điều kiện.
file
của em có các cột như hình xét tất cả các hàng ở cột B nếu cột hàng nào ở cột B còn trống thì sẽ xuất tất cả các giá tri sang một file mới và em đặt file này là newfile còn file chuắ dữ liệu là template,em có tìm hiểu và là theo nhưng ko ra ai có thể giúp em đuợc không ah.
Đây là code của em
Option Explicit
Sub macro1()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("template")
Dim cmax As Long
cmax = ws1.Range("A65536").End(xlUp).Row
ws1.Sort.SortFields.Clear
'ws1.Sort.SortFields.Add Key:=ws1.Range("B"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ws1.Sort
.SetRange ws1.Range("A2:K" & cmax)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Dim filepath As String
filepath = ThisWorkbook.Path & "\newfile.xlsm"
Dim i As Long, j As Long
Dim torihiki As String
For i = 2 To cmax
torihiki = Worksheets("template").Cells(i, "B").Value
If torihiki <> "" Then
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & torihiki
Application.DisplayAlerts = True
ActiveWorkbook.Close
End If
torihiki = Worksheets("template").Cells(i, "B")
Workbooks.Open filepath
ActiveSheet.Name = torihiki
j = 2
Worksheets(torihiki).Range("A" & j).Value = ws1.Range("A" & i).Value
Worksheets(torihiki).Range("B" & j).Value = ws1.Range("B" & i).Value
Worksheets(torihiki).Range("C" & j).Value = ws1.Range("C" & i).Value
Worksheets(torihiki).Range("D" & j).Value = ws1.Range("D" & i).Value
Worksheets(torihiki).Range("E" & j).Value = ws1.Range("E" & i).Value
Worksheets(torihiki).Range("F" & j).Value = ws1.Range("F" & i).Value
Worksheets(torihiki).Range("G" & j).Value = ws1.Range("G" & i).Value
Worksheets(torihiki).Range("H" & j).Value = ws1.Range("H" & i).Value
Worksheets(torihiki).Range("J" & j).Value = ws1.Range("J" & i).Value
Worksheets(torihiki).Range("K" & j).Value = ws1.Range("K" & i).Value
j = j + 1
Next
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & torihiki
Application.DisplayAlerts = True
ActiveWorkbook.Close
End Sub