Ngô thanh hằng
Ngô thanh hằng
Thảo luận 2 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 212 lượt xem

có thể giải thích cho e nội dung của những câu lệnh kết quả này

Thầy ơi, thầy có thể giải thích cho e nội dung  của những câu lệnh kết quả này ko ạ? e ko hiểu tại sao lại làm thế

Sub PhieuLuong_NoiDung()

    'B1

    'Sheet2.Range("F6").Value = Sheet3.Range("E26").Value

    'B2

    Dim dong_BD As Long, dong_KT As Long

    dong_BD = Application.WorksheetFunction.Match(Sheet2.Range("I2"), Sheet3.Range("A6:A105"), 0) + 5

    dong_KT = Application.WorksheetFunction.CountIf(Sheet3.Range("A6:A105"), Sheet2.Range("I2")) + dong_BD - 1

Thảo luận 2 câu trả lời
Lượt xem 212 lượt xem
Vỗ tay vỗ tay
Ngô thanh hằng 11:08 - Aug 29, 2020

1. 

Sheet2.Range("F6").Value = Sheet3.Range("E26").Value

có nghĩa là lấy dữ liệu ở ô E26 trong sheet3 đưa vào vị trí ô F6 trong Sheet2

2. 

Dim dong_BD As Long, dong_KT As Long

là cú pháp khai báo biến, dùng làm biến đại diện cho các giá trị dòng bắt đầu, dòng kết thúc

3. 

dong_BD = Application.WorksheetFunction.Match(Sheet2.Range("I2"), Sheet3.Range("A6:A105"), 0) + 5

có nghĩa là xác định giá trị cho biến dong_BD (dòng đầu tiên có dữ liệu) bằng hàm MATCH trong VBA. Match này là tìm theo giá trị ô I2 tại sheet2 trong vùng A6:A105 tại sheet3, kết quả hàm MATCH sẽ cộng thêm 5 (vì vùng match tính từ dòng 6 trở đi, do đó phải cộng thêm 5 để tìm đúng số dòng)

4.

dong_KT = Application.WorksheetFunction.CountIf(Sheet3.Range("A6:A105"), Sheet2.Range("I2")) + dong_BD - 1

xác định dòng kết thúc (dòng cuối có dữ liệu). Dòng cuối xác định bằng cách lấy dòng đầu cộng với số dòng có dữ liệu (xác định bởi hàm COUNTIF). Phải trừ đi 1 vì đây là nguyên tắc xác định phạm vi bên trong 2 mốc (khoảng cách = dòng cuối - dòng đầu - 1)

---

Bạn hãy hình dung 1 bảng tính mà không rõ nó nằm ở vị trí nào trong sheet (vì có thể thêm dòng, thêm nội dung vào bảng... khiến vị trí bảng và giới hạn bảng thay đổi). Làm thế nào để định vị được bảng này? đó là tìm các điểm đầu, điểm cuối của bảng. Nó chính là dòng đầu có dữ liệu và dòng cuối có dữ liệu.




Vỗ tay vỗ tay
Ngô thanh hằng 23:08 - Aug 31, 2020

Em cảm ơn thầy


Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội