永发信息网

EXCELVBA出现运行时错误:

答案:2  悬赏:0  手机版
解决时间 2021-12-25 15:26
EXCELVBA文档出现行时错误,弹出一个窗口“系统错误,&H80010108(-2147417848)。被调用的对象已与其客户端断开连接”
文档代码是我自己编写的,这个步骤运行的程序是在一个窗体中单击一个按钮把窗体中的一些数据分别输入到另外两个工作表的列表中,加到列表的最后位置。该文档已经使用一段时间,一直正常,最近运行时出现这个问题。
有哪位高手知道出错原因的请不吝赐教,还请详细说下解决方法。
最佳答案
应该是这样:
Sub 填充颜色()
Dim i As Integer
For i = 0 To 19
Range("E1").Offset(i).Interior.Color = RGB(Range("B1").Offset(i).Value, Range("C1").Offset(i).Value, Range("D1").Offset(i).Value)
Next
End Sub

我也不是很懂VBA,所以可以最浅显地帮你解释一下。
在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。这个offset的含义百度下就有,嘿嘿。
你原来代码的问题主要是Range( )这种里面没有加引号。加上就好了,用法问题。
另外如果想要E列都填充的话,偏移值应该从0开始。就是For i = 0 To 19,不知道你为什么原来是For i = 2 To 19,如果这样定义的话,E1和E2是没有颜色的。

顺便再补充一下,你原来的代码多定义了G和B,但是下面完全没有用到,我看没啥意义就删了。
全部回答
dim语句中的integer都改为long,因为integer正数最大为32767 另外,大量循环应该考虑将表格读入数组,用数组参与循环,提高速度。 比如使用语句:a1=worksheets("样本1").usedrange 则生成a1数组,a1(i,1)就相当于cells(i,1) 另外可以学习vba的字典法,进一步提高匹配速度
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
火线精英神号和密码
我的世界马怎么控制
布丁动画现在看不了动漫了吗
云台山现在热吗?
中国是什么时候开始用玻璃当窗户的
门窗业务是怎么跑的啊,有经验者请提出来哦
闪光灯中蜂巢不同的度数有什么不同?
联通 电信 移动 那个资费便宜点,打电话,上
左抵右挡反义词
全国100所名校单元测试示范卷 数学卷(四)(
足是什么结构什么偏旁
logo设计在线生成用哪个好
两个马字是什么
判断题统一面积单位的主要目的是便于比较数据
读大学网上缴费就是把钱存入学校发来的那张卡
推荐资讯
韩语什么怎么说
关于美什么什么的abb式的三字词语
CORDRAW按P键不居中了怎么办
某饲料厂今年一月份生产饲料500千克,三月份7
杜鹃茶花在北方养用啥土好?应该怎样配土?比
移动用户给联通用户可以赠送流量吗?怎么操作
牧野区新乡中国移动通信地址在哪里啊
小龙虾到底有没有寄生虫?
单选题Itisgood________childrentowatc
0.7÷3.5×101-0.2简便计算
四川宜宾五粮液机场到富顺大巴要多少钱
龙眼吃多了会怎样会不会拉肚子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?