Nhờ giúp Chạy vòng lặp 2 lần cho 2 cột khác nhau (Lặp số dòng)

Liên hệ QC

nguoikemcoi

Thành viên mới
Tham gia
24/11/07
Bài viết
17
Được thích
0
Làm sao để chay vòng lặp 2 lần trong 2 cột khác nhau:
Ý mình muốn như sau:
- Làm sao cứ đến giá trị thành tiền của hàng tổng cộng sẽ tự động cộng tất cả các giá trị chi phí lớn trong từng bộ phận riêng biệt. Giá trị tổng cộng này sẽ tính cho mỗi người riêng biệt.
Nhờ các bạn giúp.
- Mình đã dùng vòng For 2 lần cho 2 cột khác nhau.
Lần 1: Tìm trong cột B (Mã nhân viên), nếu ô nào có mã nhân viên(tương ứng với dòng i), thì sẽ tìm trong cột D tương ứng với số dòng là j=i+1.
Lần 2: Tìm trong cột D, nếu thấy dòng nào có tên "Tổng cộng" thì sẽ đếm từ vị trí Cell có tên tổng cộng đó lên đến dòng thứ j (Mục đích của việc làm này là để xác định khoảng cách từ dòng thứ i đến vị trí cuối cùng để thực hiện lệnh sum cho ô tổng cộng.
Sau đó, nếu thực hiện được cho nhân viên số 1, ta sẽ tiếp tục duyệt đối với nhân viên số 2.

Mình thử viết nhưng Excel báo lỗi, mình không biết xử thế nào nên nhờ các bác:
Sub Chay_thu()
Dim i As Long
Dim j As Long
i = 1
Dim Cell1 As Range
Sheets("Vi du").Select
Range("B" & i":B1000").Select
For i = 1 To 1000
If i < "6" Then
i = i + 1
Else
For Each Cell1 In Selection.Cells
If Cell1 <> "" Then
Range("D:D").Select
Dim dem As Long
dem = 1
For j = i + 1 To 1000 Step 1
dem = dem + 1
Dim Cell2 As Range
If Cell2 = "Tổng cộng" Then
i = i + dem
j = 10001
Cell2.Offset(0, 7) = Cong thuc tinh tong cua tung nhan vien
End If
Next
End If
Next
End If
Next
End Sub


Kiến thức mình còn hạn chế, nhờ các bác giúp đỡ mình nhé.
Thank rất rất nhiều. Mình có gửi file kèm theo:

Mình gửi bài lần đầu nên nhờ ban quản trị chỉ mình cách làm sao để paste đoạn code vào bài viết, khi up lên hiển thị giống như trong VB. (Mình thấy các bác làm dễ đọc quá chừng, mình copy rồi paste, đến khi xem lại bài thì thấy nó canh trái. Mình mò mà hổng chỉnh được, nhờ giúp đỡ để lần sau post bài dễ đọc hơn.
Thân.


 

File đính kèm

Lần chỉnh sửa cuối:
Chưa xem được hết code, còn nhiều chỗ phải xem kỹ và sửa hoặc bỏ bớt. Riêng dòng lệnh lỗi sửa lại:

Range("B" & i":B1000").Select

Sửa thành:

Mã:
Range("B" & i & ":B1000").Select
Tuy nhiên bản thân câu này có thể bỏ hẳn đi (không cần select) và sửa đoạn dưới:

Mã:
For Each Cell1 in Range("B" & i & ":B1000")

 
Upvote 0
Cảm ơn ptm0412 đã giúp đỡ, em đã sửa: For Each Cell1 In Range("B" & i ":B1000") nhưng vẫn bị lỗi anh àh. Dòng trên em đã bỏ Range("B" & i & ":B1000").Select đi rồi.
 
Upvote 0
Web KT

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

Back
Top Bottom