Hỏi hàm điều kiện if VBA

Liên hệ QC

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
Anh chị cho em hỏi?
Em đang làm form in theo điều kiện. khi kết quả tìm được theo dòng 22 cột 59 = "BÊ TÔNG" thì sẽ in If DKVKCK = "BÊ TÔNG" Then . Nhưng khi kết quả "XÂY GẠCH" thì code vẫn in dòng 21 theo điều kiện tìm được "XÂY GẠCH". Phải sửa lại code như nào anh chị chỉ giúp em
Sub UserForm_Initialize()
ComboBox1.List = Array("PhieuBT", "BTTP", "")
ComboBox11.List = Array("UnVK-CKBT", "")
End Sub

Private Sub OkIn_BB_BT_SH_Thep_Click()
Dim inStart As Long, inFinish As Long
Dim i As Long
Dim Rng As Range, DK As Long
Dim RngVKCK As Range, DKVKCK As Long
Dim Ws1 As Worksheet, Ws11 As Worksheet

ActiveSheet.DisplayPageBreaks = False

On Error Resume Next
If ComboBox1.ListIndex <> -1 Then
Set Ws1 = ThisWorkbook.Worksheets(ComboBox1.Text)
End If
If ComboBox11.ListIndex <> -1 Then
Set Ws11 = ThisWorkbook.Worksheets(ComboBox11.Text)
End If
End If


Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 4)
Set RngVKCK = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(xlUp)).Resize(, 59)

inStart = TextBox1.value
inFinish = TextBox2.value

For i = inStart To inFinish
DK = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
DKVKCK = Application.WorksheetFunction.VLookup(i, RngVKCK, 59, False)


If DK > 0 Then GoTo tiep
Sheets("BBan").Select
ActiveSheet.DisplayPageBreaks = False
Sheets("BBan").Range("AZ1").value = i
Sheets("BBan").PrintOut

If Not Ws1 Is Nothing Then
Ws1.Select
Ws1.Range("AZ1").value = i
If Range("AH1").value > 0 Then
ActiveSheet.EntireRow.Hidden = False
Ws1.PrintOut
End If
End If
If Not Ws11 Is Nothing Then
If DKVKCK = "BÊ TÔNG" Then
Ws11.Select
Ws11.Range("AZ1").value = i
ActiveSheet.EntireRow.Hidden = False
Ws11.PrintOut
End If
End If
tiep:

Next i
Unload Me
End Sub
2.pngCapture.JPG
 
Theo mình vì code Editor VBA hiện không nhận dữ liệu dạng có dấu tiếng Việt.
"XÂY GẠCH" sẽ thành "XÂY G?CH"
+ bạn có thể tham khảo bằng các từ khóa Unicode VBA, gõ tiếng Việt trong VBA.
+ hoặc có thể dùng tham chiếu, ví dụ sheet danh mục, khi so sánh thay vì
PHP:
If Str= "XÂY G?CH" thì dùng If Str = sheets("Danhmuc").Range("A2").Value
chẳng hạn.
 
Upvote 0
Theo mình vì code Editor VBA hiện không nhận dữ liệu dạng có dấu tiếng Việt.
"XÂY GẠCH" sẽ thành "XÂY G?CH"
+ bạn có thể tham khảo bằng các từ khóa Unicode VBA, gõ tiếng Việt trong VBA.
+ hoặc có thể dùng tham chiếu, ví dụ sheet danh mục, khi so sánh thay vì
PHP:
If Str= "XÂY G?CH" thì dùng If Str = sheets("Danhmuc").Range("A2").Value
chẳng hạn.
như vậy để tiếng anh không dấu là được bạn nhỉ
 
Upvote 0
Em đang làm form in theo điều kiện. khi kết quả tìm được theo dòng 22 cột 59 = "BÊ TÔNG" thì sẽ in If DKVKCK = "BÊ TÔNG" Then . Nhưng khi kết quả "XÂY GẠCH" thì code vẫn in dòng 21 theo điều kiện tìm được "XÂY GẠCH". Phải sửa lại code như nào anh chị chỉ giúp em
If Left(DKVKCK, 5)="XÂY G" And Right(DKVKCK,2) = "CH" And Len(DKVKCK) = 8 Then
35 MsgBox "OK"
End If

Được hay không xài được cũng còn tùy!
 
Upvote 0
cảm ơn các a em làm dc rồi ạ
 
Upvote 0
Web KT

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

Back
Top Bottom