首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA错误消息:未设置Object Variable或With Block Variable。看不见

这个错误消息通常表示在VBA代码中使用了一个未设置的对象变量或者With语句中的变量未正确设置。这种错误通常会导致代码无法执行或者产生意外的结果。

解决这个错误的方法是检查代码中涉及到的对象变量是否正确设置和初始化。以下是一些常见的解决方法:

  1. 确保对象变量已经正确声明和初始化。在使用对象变量之前,应该使用Set语句将其设置为一个有效的对象。例如:
代码语言:txt
复制
Dim obj As Object
Set obj = CreateObject("SomeObject")
  1. 检查With语句中的变量是否正确设置。With语句用于在一段代码中多次引用同一个对象,但是在使用With语句之前,必须先将其设置为一个有效的对象。例如:
代码语言:txt
复制
Dim obj As Object
With obj
    .Property = "SomeValue"
End With
  1. 确保对象变量没有被释放或者置为Nothing。如果在代码的其他地方将对象变量释放或者置为Nothing,那么在后续的代码中使用该对象变量就会导致未设置对象变量的错误。可以通过在使用对象变量之前添加条件判断来避免这种情况。例如:
代码语言:txt
复制
If Not obj Is Nothing Then
    ' 使用对象变量
End If

总结:

VBA错误消息"未设置Object Variable或With Block Variable"通常表示在VBA代码中使用了一个未设置的对象变量或者With语句中的变量未正确设置。解决这个错误的方法是检查代码中涉及到的对象变量是否正确设置和初始化,并确保对象变量没有被释放或者置为Nothing。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 什么是REPEATABLE-READ隔离级别?

    马克-to-win:既 然我们教材用mysql,我们仔细研究一下mysql缺省情况,即两个窗口都是REPEATABLE-READ(可重复读)级别的情况。两个窗口都开始事 务以后,窗口2的update,delete,insert,窗口1肯定都看不见。但双方如果都同时update,delete,insert的话,虽然 会被block住,但一旦最后两个窗口都提交,两个窗口的效果是累加的。马克-to-win:举几个例子:1)比如窗口2先要减1,虽然窗口1看不见这种变化,窗口1如果也要 减1的话,虽然当时被block住,但只要窗口2提交的话,窗口1竟然凭着select * from table能够看到累加的效果,即一共减了2。换句话说,窗口1如果不update一下,就不会看到窗口2的update的效果。2)同样道理,如果窗口 2删除了一条记录,提交以后,窗口1未提交之前,还以为这条记录存在呢。select时发现还有,但update时,不能update,也不报错。提交以 后才发觉,数据早没有了。更新半天,都是瞎忙活。马克-to-win:也好理解,因为窗口2早delete了嘛!3)如果窗口2增加一条,窗口1也想增加同样主键的这条记录 (因为看不到这条主键的记录),暂时被挡住以后,当窗口2提交,窗口1会报错,说试图增加重复键。4)窗口1想更新全部的记录为红色,同时窗口2想插入一 条蓝色的,被挡住后不能动弹键盘。窗口1必须先提交,select一下,没发觉蓝色的,等窗口2提交以后,大家都发觉,所有的都变成了红色,除了新插入的 一条是蓝色。所以还是符合提交的变化都会生效,变化的效果是累加的。5)窗口2增加一条,窗口1死活看不到这一条。即使看不见,如果愣更新这条记录的话, 会被挡在那里。马克-to-win:这时如窗口2提交,窗口1简单select,就可以看到自己update的效果。mysql的策略是,只要你叠加在别人的修改之上修改了, 在你提交之前,是可以看到这种修改的,即使你的窗口级别是REPEATABLE-READ(可重复读)。

    02

    事务隔离与更改数据库的关系

    马克-to-win:当 然,为了保持数据的一致性和数据库的正确性,涉及到同时改变数据库(update,insert,delete)时,不管任何的隔离级别,事务一定是序列 的执行的。先执行的事务挡住(block)后执行的事务正好要改变数据库的那句话(换句话说,在那句话后面的事务就卡在那了)。后执行的事务需要获得相关 行的“行排他锁”才能改数据。先执行的,一定是事务完成才释放“行排他锁”。注意不止是那句更新完成就释放“行排他锁”。马克-to-win:先执行的事务一完成,后面的事务 立刻继续。注意二者都commit后,对数据库的改变是叠加的。只要commit,改变就不会白做,保证了数据库的正确性。(查事务的ACID的 Durable的特性)比如一个insert,另一个update,效果也叠加,即使update的select时,还看不见insert的东西。只要对 准那个insert的row的主键update,更新就不白做。马克-to-win:两个都update,效果更是叠加了。如果你delete,我看不见,我还update, 就白做了,也好理解,因为你先delete了嘛!具体见“REPEATABLE-READ隔离级别”

    01

    CVPR2020最佳检测 | 带有注意力RPN和多关系检测器的小样本目标检测网络

    传统的目标检测方法通常需要大量的训练数据,并且准备这样高质量的训练数据是劳动密集型的(工作)。在本文中,我们提出了少量样本的目标检测网络,目的是检测只有几个训练实例的未见过的类别对象。我们的方法的核心是注意力RPN和多关系模块,充分利用少量训练样本和测试集之间的相似度来检测新对象,同时抑制背景中的错误检测。为了训练我们的网络,我们已经准备了一个新的数据集,它包含1000类具有高质量注释的不同对象。据我们所知,这也是第一个数据集专门设计用于少样本目标检测。一旦我们的网络被训练,我们可以应用对象检测为未见过的类,而无需进一步的训练或微调。我们的方法是通用的,并且具有广泛的应用范围。我们证明了我们的方法在不同的数据集上的定性和定量的有效性。

    03

    小白站长怎么优化谷歌(AdSense)广告联盟

    首先本文不是教你怎么获取广告费的,今天也不谈谷歌广告联盟是怎么申请的,如果需要后期我可以专门写一篇google广告联盟申请教程,其次我要优化的并不是收益而是怎么避免踩坑、怎么避免一些擦边广告,因为谷歌的自动广告很好用,一段代码就搞得定,但毕竟都是谷歌是国外的,有一些广告并不适用我们国内,所以我们就不能去投放,可能有些人可能会说我老生常谈,有很多人写过的文章怎么还是翻来覆去的写呢?是的现在随便百度有很多类似的文章,但是我写文章主要是为了记录,博客本意即使记录自己生活学习的碎碎念,谁能保证百度那些网站会一直存在呢,说跑题了,emmm。。。

    03

    小白站长怎么优化谷歌(AdSense)广告联盟

    首先本文不是教你怎么获取广告费的,今天也不谈谷歌广告联盟是怎么申请的,如果需要后期我可以专门写一篇google广告联盟申请教程,其次我要优化的并不是收益而是怎么避免踩坑、怎么避免一些擦边广告,因为谷歌的自动广告很好用,一段代码就搞得定,但毕竟都是谷歌是国外的,有一些广告并不适用我们国内,所以我们就不能去投放,可能有些人可能会说我老生常谈,有很多人写过的文章怎么还是翻来覆去的写呢?是的现在随便百度有很多类似的文章,但是我写文章主要是为了记录,博客本意即使记录自己生活学习的碎碎念,谁能保证百度那些网站会一直存在呢,说跑题了,emmm。。。

    02

    看得见的与看不见的 - 计算机科学里的 trade-off

    政府或企业的每一个决策、每一次行动,甚至不经意间的个人行为都可能会对现实生活中造成影响,其中有些影响是立马可以感受到的,是看得见的,而有些影响是第一时间很难感受到的,是看不见的。经济学里有一个很经典的例子是来说明看得见和看不见的影响,商店主人的儿子把商店的橱窗打破了,然后商店的主人花钱请玻璃工师傅把橱窗修复了,然后玻璃工师傅拿到了修复的费用,在某种程度上,这笔修复的费用使整个资金链运转起来,商店的橱窗修复了,玻璃工师傅有了收入,这是看的见的影响。同样的,还有看不见的影响,商店主人原本可以用这笔钱去创造更大的价值,比如购进新的货物、让商店更好看,然而因为橱窗的打破这笔钱没有了。

    02
    领券