簡體   English   中英

如何在If語句中進行近似匹配?

[英]How to do approximate match within If statement?

我創建了一個代碼;但是,它可能無法正常工作。 If語句僅適用於絕對值。 假設某人以小寫形式輸入了ItemType,則If語句將無法獲取該值,因此相應的工作表將不會更新。 我想消除工作簿中可能的錯誤或遺漏。

Sub test()

' ----------------------------------------------------------------- Data
Dim ws0 As Worksheet: Set ws0 = ThisWorkbook.Sheets("Data")
' ----------------------------------------------------------------- Mfg FG
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("ABCX Mfg FG")
' ----------------------------------------------------------------- Mfg RAW
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("ABCX Mfg RAW")


Dim ItemNumber As String
Dim ItemType As String
Dim Issues As String
Dim InventoryValue As String

ItemNumber = InputBox("Please enter Item Number", "Item Number", "Type here")
ItemType = InputBox("Please enter Item Type", "Item Type", "Type here")
Issues = InputBox("Please enter Number of Issues", "Issues", "Type here")
InventoryValue = InputBox("Please enter Inventory Value", "Inventory Value", "Type here")

'-------------------- Data
NextRow = ws0.Cells(ws0.Rows.Count, "A").End(xlUp).Offset(1, 0).Row

 ws0.Range("A" & NextRow).Value = ItemNumber
 ws0.Range("F" & NextRow).Value = ItemType
 ws0.Range("H" & NextRow).Value = Issues
 ws0.Range("I" & NextRow).Value = InventoryValue

 ws0.Range("A" & NextRow - 1 & ":I" & NextRow - 1).Copy
 ws0.Range("A" & NextRow & ":I" & NextRow).PasteSpecial Paste:=xlPasteFormats
 Application.CutCopyMode = False
 Application.ScreenUpdating = True

'----------------- If statement
If ItemType = "Mfg FG" Then
ws1.Activate
Range("A13").Activate
 ElseIf ItemType = "Mfg RAW" Then
 ws2.Activate
 Range("A13").Activate

End If

'-------------------- Loop
Do

If ActiveCell.Value = "" Then Exit Do
ActiveCell.Offset(1, 0).Activate

Loop

ActiveCell.Value = ItemNumber
ActiveCell.Offset(0, 1).Value = Issues
ActiveCell.Offset(0, 2).Value = InventoryValue



 Application.CutCopyMode = False
 Application.ScreenUpdating = True

End Sub

將您的變量更改為大寫UPPER(ItemType)UPPER(問題)UPPER(InventoryValue)

而您的比較值則為大寫,例如:UPPER(“ MFG FG”)。 那么他們鍵入什么方式都將無關緊要。以前的評論者也在說關於ACTIVECELL的福音真理。 用它來解決問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM