excel - 检查在 Userform Txtbox 中输入的值是否存在于同一工作簿的工作表的列中
问题描述
运行时错误“-2147417848 (80010108)”:
我收到此错误消息(自动化错误调用的对象已与其客户端断开连接。”
代码很简单(我认为)。我有一个用户表单(frmFolderNo)。用户窗体上有一个文本框 (txtLIMSFNo),用户在其中输入文件夹编号 (FolderNo)。然后,我使用 AfterUpdate 检查 FolderNo 是否存在。如果没有,它会执行 QueryLIMS 子程序。当我只执行该代码而不检查 FolderNo 是否存在时,它运行良好,但是当我添加检查功能时,我的问题出现了。如果它已经存在,我只想设置一个变量 (FolderNumExists) true,通过 msgbox 通知用户,然后选择相关行进行编辑。然后循环应该退出。如果 FolderNum 不存在,应执行 QueryLIMS 子程序。如果它确实存在,则会出现消息框并选择该行,但是最后我会收到此错误(当 End Sub 行执行时)。而通常,Excel 崩溃并重新启动或必须重新启动。我到底错过了什么?顺便说一句,当 FolderNum 不存在时,它仍然可以正常工作。
>Private Sub txtLIMSFNo_AfterUpdate()
folderNo = txtLIMSFNo.Value
Dim LastRow As Long
Dim sht As Worksheet
Set sht = ThisWorkbook.Sheets("Current_Samples")
'Check to see if FolderNo exists in "Current Samples" Tab
'Determine lastrow on "Current Samples" Tab
sht.Activate
LastRow = sht.Range("A1").End(xlDown).Row
Dim i As Integer
For i = 1 To LastRow
If ThisWorkbook.Sheets("Current_Samples").Cells(i, 1).Value =
folderNo Then
'This folder already exists in the spreadsheet. It will now be
selected to facilitate editing
ThisWorkbook.Sheets("Current_Samples").Rows(i & ":" &
i).Select
FolderNumExists = True
Me.Hide
MsgBox "This FolderNo exists already. It is now selected
for Editing."
Exit For
End If
Next i
If FolderNumExists = False Then
QueryLIMS
End If
End Sub
解决方案
推荐阅读
- java - 如何使用 JPA 将外键映射为表上的 @Id?
- powershell - 在 powershell 文件中有一个入口点,例如 python name main
- linux - 启用 Widevine 元浏览器 Yocto
- arrays - 在函数中读取数组并在主函数中打印
- java - MIP SDK Java Wrapper 示例无法启动
- python - Jupyter 以编程方式执行热键
- javascript - 触发更新功能时数据被复制 - Firebase
- azure - 使用 Python 的 Azure 服务总线
- google-cloud-platform - GCP 上带有“resource.sourceMachineImage”的新 VM 错误消息
- excel - 如何遍历一系列 10 个电子邮件地址并将它们添加到 VBA 中的电子邮件?