Hàm if bằng VBA

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Harry90

Thành viên mới
Tham gia
9/8/19
Bài viết
34
Được thích
-13
Dear Anh/Chị
Em có một file đang viết bằng hàm if, em muốn đổi sang bằng VBA
Rất mong anh chị giúp đỡ em ạ
1690354108298.png
Xin cảm ơn
 

File đính kèm

  • load file.xlsb
    422.7 KB · Đọc: 17
Dear Anh/Chị
Em có một file đang viết bằng hàm if, em muốn đổi sang bằng VBA
Rất mong anh chị giúp đỡ em ạ

Xin cảm ơn
Cột D phải định dạng như trong fife
Mã:
Function IFsNumFormat(Spec As Range, SBF As Range) As String
  Dim i&, sRow&, NumFormat$
  sRow = Spec.Rows.Count
  If SBF.Rows.Count < sRow Then IFsNumFormat = "#REF!": Exit Function
  For i = 1 To sRow
    NumFormat = Spec(i, 1).NumberFormat
    If InStr(1, NumFormat, "Max", vbTextCompare) Then
      If SBF(i, 1) >= Spec(i, 1) Then Exit For
    ElseIf InStr(1, NumFormat, "Min", vbTextCompare) Then
      If SBF(i, 1) <= Spec(i, 1) Then Exit For
    End If
  Next i
  If i > sRow Then IFsNumFormat = "Pass" Else IFsNumFormat = "Fail"
End Function
Công thức ô F129
Mã:
=IFsNumFormat($D$12:$D$23,F12:F23)
 
Upvote 0
Cột D phải định dạng như trong fife
Mã:
Function IFsNumFormat(Spec As Range, SBF As Range) As String
  Dim i&, sRow&, NumFormat$
  sRow = Spec.Rows.Count
  If SBF.Rows.Count < sRow Then IFsNumFormat = "#REF!": Exit Function
  For i = 1 To sRow
    NumFormat = Spec(i, 1).NumberFormat
    If InStr(1, NumFormat, "Max", vbTextCompare) Then
      If SBF(i, 1) >= Spec(i, 1) Then Exit For
    ElseIf InStr(1, NumFormat, "Min", vbTextCompare) Then
      If SBF(i, 1) <= Spec(i, 1) Then Exit For
    End If
  Next i
  If i > sRow Then IFsNumFormat = "Pass" Else IFsNumFormat = "Fail"
End Function
Công thức ô F129
Mã:
=IFsNumFormat($D$12:$D$23,F12:F23)
Dear Anh
em thao tác mà vẫn chưa được ạ
a check lại giúp em với ạ
1690421556733.png
 
Upvote 0
Xem file
Lưu ý không nên chen tiếng Anh với tiếng Việt
Em làm được rồi
em cảm ơn anh ạ
Em xin lỗi đã làm phiền anh, anh có thể giúp em 1 bài toán này được không ạ
Rất mong anh giúp em ạ!!!
------------------------
- Từ file Excel "Load file" em muốn vlookup với file "data" bằng VBA ạ
1690424834360.png
 

File đính kèm

  • data.xlsx
    8.3 KB · Đọc: 4
  • load file.xlsb
    419.3 KB · Đọc: 6
Upvote 0
Upvote 0
Sau khi chuyển hàm if sang VBA, rồi đến Vlookup cũng sang VBA, sau nữa thì chưa biết. Thế này thì hàm Excel ế hết cả mất thôi.
 
Upvote 0
vâng ạ, file data em nhập dữ liệu,sau lưu lại, e chỉ làm việc ở file Load và ấn vlookup thì máy tự động tìm kiếm dữ liệu trong file data và paste vào file load tương ứng serial SBF ạ
Như bạn @Hoàng Tuấn 868 nói ở bài #7 dùng hàm Vlookup hợp lý hơn code VBA
1/ Bạn không rành VBA nên khó điều chỉnh theo thực tế phát sinh mới
2/ Tốc độ code VBA chậm hơn tốc độ code của hàm Vlookup
3/ Viết code VBA phải biết đặc điểm dữ liệu, mục đích sử dụng cụ thể và phải lường trước tất cả các tình huống có thể xảy ra . . .
. . .
Trường hợp nầy không đáng viết VBA
 
Upvote 0
Sau khi chuyển hàm if sang VBA, rồi đến Vlookup cũng sang VBA, sau nữa thì chưa biết. Thế này thì hàm Excel ế hết cả mất thôi.
vâng ạ, e dựa vào điều kiện file và mục đích làm sao tối ưu được time , công việc ạ
em cảm ơn suggestion của anh ạ
Nếu anh ko chê e ngốc thì a viết giúp em hàm vlook với ạ
Rất mong anh giúp đỡ ạ
Bài đã được tự động gộp:

Như bạn @Hoàng Tuấn 868 nói ở bài #7 dùng hàm Vlookup hợp lý hơn code VBA
1/ Bạn không rành VBA nên khó điều chỉnh theo thực tế phát sinh mới
2/ Tốc độ code VBA chậm hơn tốc độ code của hàm Vlookup
3/ Viết code VBA phải biết đặc điểm dữ liệu, mục đích sử dụng cụ thể và phải lường trước tất cả các tình huống có thể xảy ra . . .
. . .
Trường hợp nầy không đáng viết VBA
vâng ạ, e dựa vào điều kiện file và mục đích làm sao tối ưu được time , công việc ạ
em cảm ơn suggestion của anh ạ
Nếu anh ko chê e ngốc thì a viết giúp em hàm vlook với ạ
Rất mong anh giúp đỡ ạ
 
Upvote 0
bác buồn cười nhể, bác giống ăn cơm nhà vác tù và hàng tổng rồi ấy~~
Code Vlookup bằng VBA của bạn thì viết đơn giản thôi, nhưng do bạn chưa dùng qua nên không thấy điểm bất hợp lý so với hàm Vlookup thông thường nên các thành viên cũng không muốn giúp những điều không hợp lý đó.
 
Upvote 0
Code Vlookup bằng VBA của bạn thì viết đơn giản thôi, nhưng do bạn chưa dùng qua nên không thấy điểm bất hợp lý so với hàm Vlookup thông thường nên các thành viên cũng không muốn giúp những điều không hợp lý đó.
bác không hiểu bài toán của em,thì bác không giúp dc gì cũng im lặng , đừng nói gì
dùng vlook chạy ok cũng dc, nhưng e còn copy-paste bằng VBA nó đơ hết máy cụ ạ
khổ với người ko biết tỏ ra nguy hiểm,haizzz
 
Upvote 0
bác không hiểu bài toán của em,thì bác không giúp dc gì cũng im lặng , đừng nói gì
dùng vlook chạy ok cũng dc, nhưng e còn copy-paste bằng VBA nó đơ hết máy cụ ạ
khổ với người ko biết tỏ ra nguy hiểm,haizzz
Thấy thành viên góp ý là không nên dùng VBA trong trường hợp này mà bạn lại có những ngôn từ giao tiếp như vậy thì mình đoán khả năng bài này đã kết thúc tại đây.
 
Upvote 0
Trường hợp này dùng Vlookup bình thường hợp lý hơn dùng VBA. Bạn này chắc "nghiện" VBA.
Không hẳn chỉ nghiện VBA, còn nghiện tiếng Tây nữa.

VBA chỉ có người viết code mới gọi là nghiện. Với người xin code thì VBA là tiện ích quá dễ sử dụng, vòi được thì ai chẳng muốn.
 
Upvote 0
Web KT

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

Back
Top Bottom