ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 946|回复: 2

求救!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-5-21 20:22 | 显示全部楼层 |阅读模式
本帖最后由 xmhope 于 2013-5-21 20:24 编辑

我编的一段代码在自己的机器上可以运行,但在同事的机器上运行出现下标越界的错误提示。我是新手找不出原因,向各位高手求救。代码如下:
Private Sub CommandButton1_Click()
Dim z As Integer                                                                            '定义变量z为整型,用于存放光标所在行号
Dim strMl As String                                                                        '定义变量strMl为字符串型,用于存放合同台账的路径
Dim strtzk As String                                                                       '定义变量strtzk为字符串型,用于存放台账库路径
Dim htmc As String                                                                        '定义变量htmc为字符串型,用于存放合同名称
Dim c, d As String                                                                         '定义c和d变量为字符串型
Dim stryf As String                                                                         '定义stryf变量为字串型,用于存放乙方单位名称
Dim sigprice As Single                                                                  '定义sigprice变量为单精度型,用于存放合同价格
Dim savfilename, oriname As String                                                '定义两个变量为字串型,用于复制和存储付款台账合同的文件名
z = ActiveCell.Row                                                                         '读取光标所在行
htmc = Cells(z, 2)                                                                           '读入合同编号
If htmc = "" Then GoTo 10                                                               '判断合同编号是否为空,如为空转10行给出提示信息
stryf = Cells(z, 4)                                                                            '读取乙方单位名称
sigprice = Cells(z, 7)                                                                      '读取合同价款
strMl = Application.ActiveWorkbook.Path                                        '将合同台账所在路径赋予strml变量
strtzk = strMl + "\台账库"                                                               '合同台账所在路径下一级台账库路径赋予strtzk变量
c = Dir(strtzk, 16)                                                                             '判断台账库子目录是否存在
If c = "" Then MkDir strtzk                                                                 '台账库目录如不存在则建立台账库目录
d = strtzk + "\" + htmc + ".xlsm"                                                        '生成合同付款台账文件名,存放在变量d中
    If Dir(d, 16) = "" Then                                                                   '检查台账库目录下是否存在以合同编号命名的付款台账文件
    oriname = strMl + "\合同付款台账样表.xlsm": savfilename = strtzk + "\" + htmc + ".xlsm": FileCopy oriname, savfilename   '将样表以合同编号为文件名存储
    Cells(z, 2).Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=d, TextToDisplay:=htmc                    '建立超链接
    Workbooks.Open d
    Workbooks(htmc).Worksheets("合同付款台账").Cells(3, 2) = htmc                                           '将合同付款台账里的数据传递给新建的文件(此处出错!!)
    Workbooks(htmc).Worksheets("合同付款台账").Cells(5, 2) = stryf
    Workbooks(htmc).Worksheets("合同付款台账").Cells(6, 2) = Cells(z, 3)
    Workbooks(htmc).Worksheets("合同付款台账").Cells(7, 2) = sigprice
    Workbooks(htmc).Worksheets("合同付款台账").Cells(7, 4) = Cells(z, 6)
    Workbooks(htmc).Worksheets("合同付款台账").Cells(3, 6) = Cells(z, 5)
   Workbooks(htmc).Worksheets("合同付款台账").Cells(7, 6) = "='" + strMl + "\[合同台账.xlsm]合同台账'" + "!$I$" + CStr(z)
    Workbooks("合同台账").Worksheets("合同台账").Cells(z, 8) = "='" + strtzk + "\[" + htmc + ".xlsm]" + "变更签证台账'" + "!$I$16"
    Workbooks("合同台账").Worksheets("合同台账").Cells(z, 11) = "='" + strtzk + "\[" + htmc + ".xlsm]" + "合同付款台账'" + "!$D$34"
    Else
    MsgBox "该合同付款台账已存在,不可重复建立"
    End If

GoTo 20
10 MsgBox "合同未编号,无法创建付款台账"
20 End Sub

TA的精华主题

TA的得分主题

发表于 2013-5-22 09:37 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-26 09:39 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-27 06:43 , Processed in 0.047582 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表