ChanhTQ@
0901452không62
- Tham gia
- 5/9/08
- Bài viết
- 4,254
- Được thích
- 4,861
Tham khảo từ bài viết http://giaiphapexcel.com/forum/showthread.php?t=24866 , mình viết 1 macro tạo lập thẻ kho;
Vì là dân ngoại đạo, nên rất mong sự góp ý của các bạn gần xa để tiếp tục hoàn thiện
(Sẽ bổ sung phiếu nhập xuất vật tư hàng hóa)
Vì là dân ngoại đạo, nên rất mong sự góp ý của các bạn gần xa để tiếp tục hoàn thiện
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [c3]) Is Nothing Then
Dim Rng As Range, sRng As Range: Dim Sh As Worksheet
Dim eRw As Long, Col As Byte: Dim MyAdd As String
Dim fDay As String, lDay As String
1
Set Sh = Sheets("Ton"): eRw = Sh.[A65500].End(xlUp).Row
Set Rng = Sh.Range(Sh.[D1], Sh.[iv1].End(xlToLeft))
Rng.NumberFormat = "M/d/yyyy"
fDay = Format([A2].Value, "short date")
lDay = Format([D2].Value, "short date")
Set sRng = Rng.Find(fDay, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
Col = sRng.Column - 1: Set sRng = Nothing
End If
Set Rng = Sh.Range(Sh.[A1], Sh.[A65500].End(xlUp))
[f9].Value = Rng.Find(Target.Value).Offset(, Col)
2
Set Sh = Sheets("NhXt"): Set Rng = Sh.Range(Sh.[c1], Sh.[c65500].End(xlUp))
Sh.Columns(1).NumberFormat = "m/d/yyyy"
[a10].Resize(26, 7).ClearContents: Set sRng = Rng.Find(Target.Value)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If sRng.Offset(, -2) >= fDay And sRng.Offset(, -2) <= lDay Then
With [c36].End(xlUp)
.Offset(1) = sRng.Offset(, 2).Value
.Offset(1, -2) = sRng.Offset(, -1).Value
.Offset(1, -1) = sRng.Offset(, -2).Value
.Offset(1, IIf(UCase$(sRng.Offset(, 1)) = "N", 1, 2)) _
= sRng.Offset(, 3).Value
End With
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
End If
End Sub
Lần chỉnh sửa cuối: