我有这个脚本,可以用一张纸填充另一张纸的原始数据。它具有特定的嵌套IF&Do While循环,而我还有最后一件事要添加。
当用户输入工作代码时,我想知道是否仅在rFound.Offset(, 2).Value
=字符串Exempt
的情况下才可以在输入框中添加内容?如果该列中的值表示“豁免”以外的任何内容,则不会触发msg框。我知道这可能是布尔变量,但是我不知道该在哪里放置它?
我希望消息框显示“此雇员是否应免税,他们应该.....”
脚本的其余部分:(如果发生任何混淆,我可以在行上注释) 子tgr()
Dim rFound As Range
Dim lJobCode As String
Dim lFLSA As String
Dim lEC As String
Dim sFirst As String
Dim sResults As String
Dim sh As Worksheet
Dim rw As Long
Dim matched As Boolean
lJobCode = Application.InputBox("Please provide a job code", "Job Code", Type:=2)
lEC = Application.InputBox("Please select EC Member", "EC Member", Type:=2)
If lJobCode = "False" Or lEC = "False" Then Exit Sub 'Pressed cancel
Set sh = Sheets("Sheet1")
rw = 8
With ThisWorkbook.Worksheets("Sheet2").Columns("A")
Set rFound = .Find(lJobCode, .Cells(.Cells.Count), xlValues, xlWhole)
If Not rFound Is Nothing Then
sFirst = rFound.Address
Do
If ThisWorkbook.Worksheets("Sheet2").Cells(rFound.Row, 9).Value = lEC Then
matched = True
If rFound.Offset(, 2).Value = "Exempt" Then
MsgBox "Is this employee exempt, and do they work consistent hours after 8pm?"
Else
sh.Cells(rw, 4) = rFound.Offset(, 0).Value
sh.Cells(rw, 5) = rFound.Offset(, 1).Value
sh.Cells(rw, 6) = rFound.Offset(, 3).Value
sh.Cells(rw, 7) = rFound.Offset(, 5).Value
sh.Cells(rw, 8) = rFound.Offset(, 6).Value
sh.Cells(rw, 9) = rFound.Offset(, 7).Value
rw = rw + 1
End If
End If
Set rFound = .FindNext(rFound)
Loop While rFound.Address <> sFirst
If Not matched Then MsgBox "Job Code [" & lJobCode & "] found, but not eligible for EC Member"
Else
MsgBox "Job Code [" & lJobCode & "] not eligible."
End If
End With
End Sub
答案 0 :(得分:0)
发布建议作为答案,这样可以将其标记为“已回答”。
if rFound.Offset(, 2).Value = "Exempt" then userform1.load
或作为msgbox()
if rFound.Offset(, 2).Value = "Exempt" then msgbox("content")
编辑1:
如果您希望在matched = true时提取数据,然后又想弹出msgbox,请尝试以下位置:
If ThisWorkbook.Worksheets("Sheet2").Cells(rFound.Row, 9).Value = lEC Then
matched = True
sh.Cells(rw, 4) = rFound.Offset(, 0).Value
sh.Cells(rw, 5) = rFound.Offset(, 1).Value
sh.Cells(rw, 6) = rFound.Offset(, 3).Value
sh.Cells(rw, 7) = rFound.Offset(, 5).Value
sh.Cells(rw, 8) = rFound.Offset(, 6).Value
sh.Cells(rw, 9) = rFound.Offset(, 7).Value
If rFound.Offset(, 2).Value = "Exempt" AND z = 0 Then
MsgBox "Is this employee exempt, and do they work consistent hours after 8pm?"
z = 1
End if
rw = rw + 1
End If