Mọi người giải thích giúp mình đoạn CODE này với (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ngoyeubebu

Thành viên chính thức
Tham gia
7/6/13
Bài viết
89
Được thích
5
Tại sao lại có mấy cái [AD1]
Mong mọi người giải thích giúp mình đoạn CODE dưới đây với

Sub BCTháng()
Dim J As Byte, Ww As Byte, Nam As Long
Dim cRit As Range

Sheets("SLuong").Select: Nam = Year([AD1].Value)
Set Sh = ThisWorkbook.Worksheets("HD2013")
Set Rng = Sh.[d1].CurrentRegion
Set WF = Application.WorksheetFunction
[AC6].Resize(13, 4).ClearContents
Set cRit = Sh.[Ah1:Ai2]
For J = Month([AD1].Value) To Month([AD2].Value)
Ww = Ww + 1
[Ac5].Offset(Ww).Value = "Tháng" & Str(J) & "/" & CStr(Nam)
Sh.[Ah4].Value = DateSerial(Nam, J, 1)
Sh.[Ai4].Value = DateSerial(Nam, J + 1, 0)
[AE5].Offset(Ww).Value = WF.DSum(Rng, Sh.[j1], cRit)
[AD5].Offset(Ww).Value = WF.DSum(Rng, Sh.[I1], cRit)
Next J
Set Sh = Nothing: Set WF = Nothing
Set Rng = Nothing: Randomize
[AB5].Resize(, 4).Interior.ColorIndex = 34 + 9 * Rnd() \ 1
End Sub
 
[ThongBao]Tại sao lại có mấy cái [AD1]
Mong mọi người giải thích giúp mình đoạn CODE dưới đây với
PHP:
Sub BCTháng()
 Dim J As Byte, Ww As Byte, Nam As Long
 Dim cRit As Range
3
 Sheets("SLuong").Select:            Nam = Year([AD1].Value)
5 Set Sh = ThisWorkbook.Worksheets("HD2013")
 Set Rng = Sh.[d1].CurrentRegion
7 Set WF = Application.WorksheetFunction
 [AC6].Resize(13, 4).ClearContents
9 Set cRit = Sh.[Ah1:Ai2]
 For J = Month([AD1].Value) To Month([AD2].Value)
11     Ww = Ww + 1
     [Ac5].Offset(Ww).Value = "Tháng" & Str(J) & "/" & CStr(Nam)
13     Sh.[Ah4].Value = DateSerial(Nam, J, 1)
     Sh.[Ai4].Value = DateSerial(Nam, J + 1, 0)
15     [AE5].Offset(Ww).Value = WF.DSum(Rng, Sh.[j1], cRit)
     [AD5].Offset(Ww).Value = WF.DSum(Rng, Sh.[I1], cRit)
17 Next J
 Set Sh = Nothing: Set WF = Nothing
19 Set Rng = Nothing: Randomize
 [AB5].Resize(, 4).Interior.ColorIndex = 34 + 9 * Rnd() \ 1
End Sub
[/ThongBao]

2 dòng lệnh trước D3: Khai báo các biến cần xài;
D4: Lệnh trước: Chọn/Kích hoạt trang tính 'SLuong
Lệnh sau: Lấy giá trị tại ô [AD1] ấn vô biến có tên Nam
D5: Lấy trang tính 'HD2013' gán vô biến đối tượng đã khai báo;
D6: Lấy vùng dữ liệu xung quanh [D1] gán vô biến Rng
D7: Lấy đối tượng Hàm Excel đem gán vô biến đối tượng WF
Dòng lệnh tiếp sau đó là xóa dữ liệu do macro chạy lần trước tạo ra;
D9 tương tự D6;
D10: Tạo vòng lặp duyệt theo biến J; Bắt đầu là trị tháng ở [AD1], cho đến trị tháng tại [AD2]
D11: Tăng biến đếm lên 1 đơn vị;
D12: Từ [AC] (đếm) xuống dưới Ww ô được ấn định chuỗi Tháng J/ Năm Nam
D13: Ô [AH4] của trang Sh được gán trị ngày đầu của tháng J (năm là Nam)
D14: Ô bên fải liền kề được (macro) nhập ngày cuối tháng (tháng của dòng lệnh bên trên)
D15: Lấy [AE] làm mốc, dịch xuống wW (hàng) được gán trị là kết quả của hàm DSUM()
D16: Tương tự trên (tự hiểu)
D17: Kết thúc vòng lặp
Các dòng lệnh còn lại cho vui thôi!
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom