excel - 如何将此布尔变量实现到此脚本?
问题描述
我有这个脚本,它用另一张表原始数据填充一张表。它具有特定的嵌套 IF 和 Do While 循环,并且我被要求添加的最后一件事。
rFound.Offset(, 2).Value
当用户输入工作代码时,我想知道是否可以仅在= 字符串的情况下在输入框中添加Exempt
?如果该列中的值显示除 Exempt 以外的任何内容,则不会触发 msg 框。我知道这可能是一个布尔变量,但我不知道在哪里放置它?
我希望消息框显示“此员工是否豁免,他们应该......”
脚本的其余部分:(如果发生任何混淆,我可以评论行) Sub 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
解决方案
将建议作为答案发布,以便可以将其标记为已回答。
if rFound.Offset(, 2).Value = "Exempt" then userform1.load
或作为 msgbox()
if rFound.Offset(, 2).Value = "Exempt" then msgbox("content")
编辑1:
如果您希望在 match = 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
推荐阅读
- amazon-web-services - 如何获得 SSL 证书
- web - webpack-dev-server 无法获取 /?
- atom-editor - Atom:单击从不同位置打开文件
- html - 具有下载属性的锚标记打开文件而不是下载
- java - HTTP 状态 500 - 实例化 servlet 类登录时出错
- python - 如何更改主管的python路径?
- java - (Java) 显式/以编程方式关闭 JPanel
- powershell - Get-ADUser Filter 参数匹配第二次
- php - laravel 无法在 app/http/controller/productController.php 中创建函数
- git - 从命令行在 Bitbucket 上创建拉取请求