mdsk.net
当前位置:首页 >> vBA 应用程序定义或对象定义错误 >>

vBA 应用程序定义或对象定义错误

这一句有问题: Set Rng = Sheets(3).Range(Cells(1 + i, 1), Cells(3 + i, 4)) 在你的语句里,Range()的母对象是Sheets(3),而Cells()的母对象是当前活动工作表,当Sheets(3)不是活动表里,Cells()和Range()的母对象交叉混乱了,在VBA里是非法...

Sheets(1).Range("A1:H").End(xlUp).Select很明显,应该改为 Sheets(1).Range("A1:H1").End(xlUp).Select,你就缺了一个1,就是Range("A1:H1"),呵呵。采纳吧。。。

For i = 1 To Range("Sheet1").Columns.Count 应该改为如下语句吗? For i = 1 To sheets("Sheet1").Columns.Count 如果是,同样需要更改如下语句 For j = 1 To Range("Sheet1").Rows.Count

当定义key_row变量后,key_row的值是0, If Worksheets(i + 1).Cells(key_row, 3) "" Then 在这条语句前没有给key_row赋值,这时key_row的值是0,但在cells中的两个参数都不为0,如果是0就出错误。

楼主一定是初次接触VBA。 If Cells(row1, "A") = 日期1.Value Then 【row1】是什么,变量?请为他赋值,如果指的是第一行,请用Cells(1,1); 日期1又是什么?猜测是文本框,那最好用【Me.日期1】来说明清楚; 【111.Value】肯定不合法,因为【111...

从抛出异常来看Sheet没有正常被定义到,请确认你的sheet名是否正确,断点打到sheet名获取哪里,看是否能正确获得!

将Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1) 修改成: Wb.Sheets(G).UsedRange.Copy Windows("数据合并.xlsm").Activate Cells(Range("A65536").End(xlUp).Row + 1, 1).Select ActiveSheet.Paste 即可。

软件版本:Office2007 方法如下: 在VBA中如果使用了系统不认可的对象表示方法等,例如下面的Range表示方法,系统就不认可: 这样,在运行程序时,就会提示错误: 将代码中的错误更正,用正确的表示方法来使用对象或应用程序,就不会出错了:

Wb.Activate Sheets("0812").Select Range("C2").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Range("P2").Select ActiveSheet.Paste 把上面的改为下面的: wb.Sheets("0812").Range(Cells(2, 3), Range("C2").End(...

在你的代码中 i 没有定义。 看下面这一段 If n Mod 2 = 0 Then i = 1 + WorksheetFunction.RoundUp(n / 2, 0) + WorksheetFunction.RoundDown((m - 1) / 5, 0) * 4 j = m Mod 5 If j = 0 Then j = 5 End If End If Sheets("sheet5").Cells(m, n)...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com