excel - 对象变量或块变量未在 excel 宏 vba 上设置
问题描述
我尝试创建按钮以在最后一行循环添加数据,但是代码“对象变量或未设置块变量”出现错误
这是我的代码
Sub Add_Click2()
Application.ScreenUpdating = False
Dim emptyRow1 As Long
Dim Celltujuan2 As Range
Set Menu = Sheets("Interface")
Set Db2 = Sheets("Database CMMS")
'DB Power
Db2.Activate
RCNumberCMMS = Menu.Range("D20").Value
Set Celltujuan2 = Db2.Range("A:A").Find(What:=RCNumberCMMS)
If RCNumberCMMS = "" Then
MsgBox ("Silakan isi RC Number terlebih Dahulu!")
Exit Sub
End If
Celltujuan2 = Db2.Range("A99999").End(xlUp).Row + 1
'Info
For i = 25 To 35
Cells(Celltujuan2, Menu.Range("E" & i).Value) = Menu.Range("D" & i).Value
Next i
'DOP & Approval
For i = 25 To 34
Cells(Celltujuan2, Menu.Range("I" & i).Value) = Menu.Range("H" & i).Value
Next i
'Install & Material Eks
For i = 25 To 33
Cells(Celltujuan2, Menu.Range("M" & i).Value) = Menu.Range("L" & i).Value
Next i
'Write Off
For i = 25 To 26
Cells(Celltujuan2, Menu.Range("Q" & i).Value) = Menu.Range("P" & i).Value
Next i
MsgBox ("Data Telah Terupdate")
Menu.Activate
Menu.Range("D20").Select
End Sub
我为其他工作表执行相同的代码并且运行良好,我在同一个工作簿中创建此代码但在 diffren 模块中,这是问题吗?
解决方案
使用后,Find
您需要检查是否发现了什么。
Set Celltujuan2 = Db2.Range("A:A").Find(What:=RCNumberCMMS)
If Celltujuan2 Is Nothing Then
MsgBox """" & RCNumberCMMS & """ was not found."
Exit Sub
End If
如果您阅读Range.Find 方法的文档,它会说:
每次使用此方法时都会保存
LookIn
、LookAt
、SearchOrder
和的设置。MatchByte
如果下次调用该方法时没有为这些参数指定值,则使用保存的值。设置这些参数会更改“查找”对话框中的设置,而更改“查找”对话框中的设置会更改在省略参数时使用的保存值。为避免出现问题,请在每次使用此方法时显式设置这些参数。
所以你至少需要指定那些参数或使用随机的东西(没有默认值)。
Set Celltujuan2 = Db2.Range("A:A").Find(What:=RCNumberCMMS, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchByte:=False)
If Celltujuan2 Is Nothing Then
MsgBox """" & RCNumberCMMS & """ was not found."
Exit Sub
End If
推荐阅读
- node.js - 我们可以将 nodejs 中的 res 对象转换为 JSON 吗?
- mysql - 如何使用 phpMyAdmin 将表从 SERVER 1 上的数据库复制到 SERVER 2 上的另一个数据库?
- java - “VALUE_STRING 中的意外输入结束”错误的原因可能是什么
- amazon-web-services - 在启用授权时,AWS API Gateway 中出现 {“message”:null} 400 Bad Request Error
- sql - 需要有关 sql 中的字符串函数的信息
- python - 使用 Tensorflow Datasets 的加载函数时出现的问题
- python - 从另一个文件中的另一个函数调用变量
- roblox - 将零件的“自然”方向重置为 0,0,0 而不移动它
- java - Spring Session JDBCTokenRepository 覆盖默认表
- javascript - 如何解决无法在家中重现的客户端 Javascript 错误?