Public Sub LOC_BIEU1()
On Error Resume Next
Dim sArr(), dArr(1 To 3, 1 To 1), I As Long, Ong As String, NamSinh As String, CMND As String, NgayCap As String, NamSinh2 As String, CMND2 As String, Ong2 As String
Dim Ba As String, NgayCap2 As String, NoiCap As String, Diachi As String, Xa As String, Huyen As String, Tinh As String, DK As String, NoiCap2 As String, Ba2 As String
Dim K As Long, dArr2(1 To 1000, 1 To 10), N As Long, SoTrang As Double, Le As Boolean, Ba3 As String
With Sheets("DATA")
sArr = .Range(.[A3], .[A65536].End(xlUp)).Resize(, 21).Value
End With
With Sheets("BIEU")
DK = .[K3].Value: Ong = .[Q1].Value: NamSinh = .[Q2].Value: CMND = .[Q3].Value: Ong2 = .[Q15].Value
NgayCap = .[Q4].Value: NgayCap2 = .[Q5].Value: NoiCap = .[Q6].Value: Ba = .[Q7].Value: NoiCap2 = .[Q13].Value
Diachi = .[Q8].Value: Xa = .[Q9].Value: Huyen = .[Q10].Value: NamSinh2 = .[Q11].Value: CMND2 = .[Q12].Value: Ba2 = .[Q14].Value: Ba3 = .[Q16].Value
For I = 1 To UBound(sArr, 1)
If sArr(I, 1) = DK Then
dArr(1, 1) = IIf(sArr(I, 21) = 1, Ong & sArr(I, 5), Ong2 & sArr(I, 5)) & NamSinh & _
IIf(sArr(I, 2) <> "", sArr(I, 2), NamSinh2) & _
IIf(sArr(I, 1) <> "", CMND & sArr(I, 1), CMND2) & NgayCap & _
IIf(sArr(I, 3) <> "", Format(sArr(I, 3), "dd/mm/yyyy"), NgayCap2) & NoiCap & _
IIf(sArr(I, 4) <> "", sArr(I, 4), NoiCap2)
dArr(2, 1) = IIf(sArr(I, 21) = 1, Ba3, Ba) & _
IIf(sArr(I, 6) <> "", sArr(I, 6), Ba2) & NamSinh & _
IIf(sArr(I, 7) <> "", sArr(I, 7), NamSinh2) & _
IIf(sArr(I, 8) <> "", CMND & sArr(I, 8), CMND2) & NgayCap & _
IIf(sArr(I, 9) <> "", Format(sArr(I, 9), "dd/mm/yyyy"), NgayCap2) & NoiCap & _
IIf(sArr(I, 10) <> "", sArr(I, 10), NoiCap2)
dArr(3, 1) = Diachi & sArr(I, 11) & Xa & Huyen
Exit For
End If
Next I
For N = I To UBound(sArr, 1)
If sArr(N, 1) = DK Then
K = K + 1
dArr2(K, 1) = sArr(N, 20): dArr2(K, 2) = sArr(N, 12): dArr2(K, 3) = sArr(N, 13)
dArr2(K, 4) = sArr(N, 14): dArr2(K, 5) = "Không": dArr2(K, 6) = sArr(N, 18)
dArr2(K, 7) = Right(sArr(N, 15), 10): dArr2(K, 8) = sArr(N, 19): dArr2(K, 9) = sArr(N, 16): dArr2(K, 10) = sArr(N, 17)
End If
Next N
Application.EnableEvents = False
.[A3:A5].Value = dArr
.[A12:J35].Value = dArr2
SoTrang = K \ 24
If SoTrang > 0 Then
If K Mod 24 > 0 Then SoTrang = SoTrang + 1
Else
SoTrang = 1
End If
.[L2].Value = SoTrang
.[M2].Value = 1
Application.EnableEvents = True
End With
End Sub