Giúp chuyển công thức sau sang VBA (2 người xem)

Liên hệ QC

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

tueyennhi

Thành viên tích cực
Tham gia
18/10/10
Bài viết
1,192
Được thích
105
=IF(AND(($O8+$R8)=1.34,$F8="hanh chinh"),"A",IF(AND(($O8+$R8)=0.67,$F8="hanh chinh"),"B",IF(AND(($O8+$R8)=1.67,$F8="hanh chinh"),"B",IF(AND(($O8+$R8)=1.34,$F8="ca ngay"),"A",IF(AND(($O8+$R8)=0.67,$F8="ca ngay"),"B",IF(AND(($O8+$R8)=1.67,$F8="ca ngay"),"B",0))))))


Em muốn chuyển sang dạng case, cụ thể em đã làm như sau nhưng không thấy đúng
Tong1518 = Cells(i, 15).Value + Cells(i, 18).Value
Select Case Tong1518
Case Is = 1.34
If Cells(i, 6).Value = "Hanh chinh" Or Cells(i, 6).Value = "Ca ngay" Then
Cells(i, 28).Value = "A"
End If
Case Is = 0.67
If Cells(i, 6).Value = "Hanh chinh" Or Cells(i, 6).Value = "Ca ngay" Then
Cells(i, 28).Value = "B"
End If
Case Is = 1.67
If Cells(i, 6).Value = "Hanh chinh" Or Cells(i, 6).Value = "Ca ngay" Then
Cells(i, 28).Value = "B"
End If
Case Else: Cells(i, 28).Value = 0
End Select

Mong mọi người giải đáp giúp em.
 
Tại vì tôi dạy con tôi nói chuyện với người Việt thì dùng tiếng "cám ơn".
Nếu chúng khám phá ra tôi nới chuyện với người khác dùng từ thanh thiếc này nọ thì chúng không nghe lời tôi nữa.

tb. các từ giang hồ hảo hớn, ghêm ghiếc cũng vậy. Quý vị chưa cần dạy con, muốn dùng từ ngữ ra sao là toàn quyền quý vị. Nhưng tôi ở tình trạng không thể làm khác.
 
Upvote 0
Công thức này vẫn chưa với tới được, chắc phải ngâm cứu thêm :(. Cảm ơn bạn nhé!

Giải thích công thức:

Set cll = Range("U24")
Tong = Application.Sum(cll, cll.Offset(0,3).Resize(1,3))

Bạn cần làm một con toán tổng 4 ô. Ô đầu tiên là U24, 3 ô còn lại là X24, Y24, và Z24. Phân tích cho thấy 4 ô không liên tục cho nên bắt buộc phải cộng rời rạc.
Hàm Application.Sum có thể giúp bạn làm con toán tổng này. Hàm này có thể cộng rới rạc hoặc nhiều ô trong một range.
Bạn chỉ cần nạp cho nó 2 tham, tham thứ nhất là U24, và tham thứ 2 là range chứa 3 ô còn lại.
Range này gồm 3 cột và cách U24 3 cột
cll.Offset(0,3) ---> từ vị trí cll, dời 3 cột
.Resize(1,3) ---> range gồm 3 ô liên tiếp trái qua phải

Set cll = Range("U24") chỉ là lệnh chọn range. Bạn sẽ sửa U24 lại thành cái ô i trong vòng lặp của mình; vd Range("U" & i)
 
Upvote 0
Tại vì tôi dạy con tôi nói chuyện với người Việt thì dùng tiếng "cám ơn".
Nếu chúng khám phá ra tôi nới chuyện với người khác dùng từ thanh thiếc này nọ thì chúng không nghe lời tôi nữa.

tb. các từ giang hồ hảo hớn, ghêm ghiếc cũng vậy. Quý vị chưa cần dạy con, muốn dùng từ ngữ ra sao là toàn quyền quý vị. Nhưng tôi ở tình trạng không thể làm khác.

Ừm. Mình đã sửa trước đó mà không thấy bạn nói gì nên cứ ngỡ điều mình sửa không đúng.
 
Upvote 0
Thật sự với người tự dò dẫm bước đi như mình những câu hỏi này giúp mình đi sâu dần vào vba. Nhờ có diễn đàn mình mà từ một người đến excel cũng chẳng biết gì thì bây giờ em cũng có chút ít kiến thức vận dụng cho công việc. Cảm ơn mọi người nhiều lắm!
 
Upvote 0
Web KT

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

Back
Top Bottom