为什么下面这段EXCEL VBA代码在我电脑上可以运行 在别人电脑无法运行
Sub日报表()sj1=Timera=Format(Date-1,"m.d")b=Format(Date-1,"m-d")c=Format(Date-1,"m月d日")D...
Sub 日报表()
sj1 = Timer
a = Format(Date - 1, "m.d")
b = Format(Date - 1, "m-d")
c = Format(Date - 1, "m月d日")
Dim rbb As Workbook
Set rbb = Workbooks("2015年8月份日报表.xlsm")
Set kybb = Workbooks(a & "空运报表.xls").Sheets("浦东") ’(一开始这句就错误, 显示下标越界)
rbb.Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = b
p = kybb.Range("h65536").End(xlUp).Row
kybb.Range("c3:c" & p).Copy rbb.Sheets(b).Range("d2")
kybb.Range("a3:a" & p).Copy rbb.Sheets(b).Range("e2")
kybb.Range("f3:f" & p).Copy rbb.Sheets(b).Range("f2")
kybb.Range("h3:h" & p).Copy rbb.Sheets(b).Range("g2")
kybb.Range("i3:i" & p).Copy rbb.Sheets(b).Range("h2")
kybb.Range("k3:k" & p).Copy rbb.Sheets(b).Range("i2")
kybb.Range("l3:l" & p).Copy rbb.Sheets(b).Range("j2")
kybb.Range("m3:m" & p).Copy rbb.Sheets(b).Range("k2")
kybb.Range("d3:d" & p).Copy rbb.Sheets(b).Range("l2")
kybb.Range("e3:e" & p).Copy rbb.Sheets(b).Range("m2")
kybb.Range("n3:n" & p).Copy rbb.Sheets(b).Range("n2")
Range("a2") = "日期"
[b2] = "部门"
[c2] = "委托人"
[e2] = "目的地"
Range("a3:a" & p - 1) = c
Range("b3:b" & p - 1) = "市场"
Range("a1:n1").Merge
Range("a1") = "空运日报表"
END SUB
不要问什么文件名,后缀 有没有打开 什么的 都对的 就是换台电脑就不能执行,是不是和excel版本有关 但是都是2007版本啊 为什么一个能执行 一个不能执行 展开
sj1 = Timer
a = Format(Date - 1, "m.d")
b = Format(Date - 1, "m-d")
c = Format(Date - 1, "m月d日")
Dim rbb As Workbook
Set rbb = Workbooks("2015年8月份日报表.xlsm")
Set kybb = Workbooks(a & "空运报表.xls").Sheets("浦东") ’(一开始这句就错误, 显示下标越界)
rbb.Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = b
p = kybb.Range("h65536").End(xlUp).Row
kybb.Range("c3:c" & p).Copy rbb.Sheets(b).Range("d2")
kybb.Range("a3:a" & p).Copy rbb.Sheets(b).Range("e2")
kybb.Range("f3:f" & p).Copy rbb.Sheets(b).Range("f2")
kybb.Range("h3:h" & p).Copy rbb.Sheets(b).Range("g2")
kybb.Range("i3:i" & p).Copy rbb.Sheets(b).Range("h2")
kybb.Range("k3:k" & p).Copy rbb.Sheets(b).Range("i2")
kybb.Range("l3:l" & p).Copy rbb.Sheets(b).Range("j2")
kybb.Range("m3:m" & p).Copy rbb.Sheets(b).Range("k2")
kybb.Range("d3:d" & p).Copy rbb.Sheets(b).Range("l2")
kybb.Range("e3:e" & p).Copy rbb.Sheets(b).Range("m2")
kybb.Range("n3:n" & p).Copy rbb.Sheets(b).Range("n2")
Range("a2") = "日期"
[b2] = "部门"
[c2] = "委托人"
[e2] = "目的地"
Range("a3:a" & p - 1) = c
Range("b3:b" & p - 1) = "市场"
Range("a1:n1").Merge
Range("a1") = "空运日报表"
END SUB
不要问什么文件名,后缀 有没有打开 什么的 都对的 就是换台电脑就不能执行,是不是和excel版本有关 但是都是2007版本啊 为什么一个能执行 一个不能执行 展开
4个回答
展开全部
有可能是没有完全安装的问题,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否确定,a目录下,有“空运报表”,并且已经打开?
更多追问追答
追问
当然有了,只是换台电脑就代码错误了
追答
一个可能是文件是否存在,并且名称一致。
还有一个可能是你的扩展名的问题,在你的电脑上,2003版的,别人电脑如果另存成了2010版的,也有可能的。比如:rbb、kybb
总的说来,因为原来运行正常,那么问题是代码的可能不大,更大的可能是使用条件发生了变化,带来的问题。
不要再问?那就没办法回答了,你什么都对,就是运行出错,那是神迹,既然确定什么都对了,那还在网上问什么?别人说的,你都检查了么?不相信别人,提问是在玩我们?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查下那个人的“空运报表.xls”中有没有“浦东”这个sheet,重点关注下“浦东”前后是不是有空格。
更多追问追答
追问
都说了代码在我的电脑运行没有问题,只是在同事电脑不能运行
追答
你在你同事电脑上操作时是不是没事先打开 空运报表????
你看下workbooks的定义:
Workbooks 对象
Microsoft Excel 应用程序中当前打开的所有 Workbook 对象的集合。
注意“当前打开”这四个字。
如果你想用VBA打开某个文件,可以用workbooks.open(路径+文件名)方法。
注意,如果忽略路径,excel会从“我的文档”里找目标文件,而不是从当前文件夹!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询