宏运行错误 1004 简单的问题

lanbo1213 2013-03-20 09:58:42

Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$C$2:$C$" & cnt + 1), _
ActiveSheet.Range("$D$2:$G$" & cnt + 1), False, False, , title & " Regression", False, _
False, False, False, , False

报错:
运行错误:”1004“
找不到 ATPVBAEN 文件 请检查文件名拼写,验证文件名是否正确。
如果你试图从最近使用过的列表中打开该文件,请确保该文件未被重命名,移动或删除。


第一解除VBA ,不知道上面一句代码是什么意思。 麻烦大大们解答一下,

这个宏以前运行的时候都没有这个错误,就是突然间出现的 。以前文件夹里也是没有ATPVBAEN这个文件的。
...全文
1665 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dsd999 2013-03-22
  • 打赏
  • 举报
回复
只要在references里把ATPVBAEN.XLAM 加载上了,就只写regress就可以了。 ATPVBAEN.XLAM 在C:\Program Files\Microsoft Office\OFFICE11\Library\Analysis目录下。
dsd999 2013-03-21
  • 打赏
  • 举报
回复
1)你在那个目录 删掉的? 2)把整个过程的代码贴出来。
lanbo1213 2013-03-21
  • 打赏
  • 举报
回复
原来如此,但是我现在把 ATPVBAEN.XLAM 这个删除 。运行就不报错,结果也能出来。 是什么原因?
dsd999 2013-03-21
  • 打赏
  • 举报
回复
引用 2 楼 lanbo1213 的回复:
引用 1 楼 dsd999 的回复:ATPVBAEN.XLAM这个文件不是必须在当前目录。 你的问题是以前某个目录下有ATPVBAEN.XLAM这个文件,现在这个文件没了。 你电脑里搜搜这个文件。 计算机里没这个文件的,以前也没有这个文件。但是运行起来就不报这个错误。 弱弱的问问。这几行代码是什么意思?干什么的? 在线等....
那几行代码就是执行ATPVBAEN.XLAM文件里的宏。
lanbo1213 2013-03-21
  • 打赏
  • 举报
回复

Function Profile(File_name, firstday, cnt, title, col, afterSheet, sheetNo)
    Sheets(File_name).Select
    Range("B:B," & col & ":" & col).Select
    Selection.Copy
    Sheets.Add After:=Sheets(afterSheet)
    Sheets(sheetNo).name = title & " Profile"
    Sheets(title & " Profile").Select
    ActiveSheet.Paste
    Columns("B").Insert shift:=xlToRight
    
    Range("B1") = "t"
    Columns("B:B").NumberFormat = "0.00"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]-36665"
    Selection.Copy
    Selection.AutoFill Destination:=Range("B2:B" & cnt + 1), Type:=xlFillDefault

    Range("D1") = title & " x1"
    Range("E1") = title & " z1"
    Range("F1") = title & " x2"
    Range("G1") = title & " z2"
    Range("H1") = title & " Fit"
    Columns("D:H").NumberFormat = "0.00"
    
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=COS(2*PI()*RC[-2])"
    Selection.Copy
    Selection.AutoFill Destination:=Range("D2:D" & cnt + 1), Type:=xlFillDefault
    
    Range("E2").Select
    ActiveCell.FormulaR1C1 = "=-SIN(2*PI()*RC[-3])"
    Selection.Copy
    Selection.AutoFill Destination:=Range("E2:E" & cnt + 1), Type:=xlFillDefault

    Range("F2").Select
    ActiveCell.FormulaR1C1 = "=COS(2*PI()*RC[-4]/0.5)"
    Selection.Copy
    Selection.AutoFill Destination:=Range("F2:F" & cnt + 1), Type:=xlFillDefault

    Range("G2").Select
    ActiveCell.FormulaR1C1 = "=-SIN(2*PI()*RC[-5]/0.5)"
    Selection.Copy
    Selection.AutoFill Destination:=Range("G2:G" & cnt + 1), Type:=xlFillDefault

    Range("H2").Select
    ActiveCell.FormulaR1C1 = "=TREND(R2C[-5]:R" & cnt + 1 & "C[-5],R2C[-4]:R" _
        & cnt + 1 & "C[-1],RC[-4]:RC[-1],TRUE)"
    Selection.AutoFill Destination:=Range("H2:H" & cnt + 1), Type:=xlFillDefault

    Application.Run "Regress", ActiveSheet.Range("$C$2:$C$" & cnt + 1), _
        ActiveSheet.Range("$D$2:$G$" & cnt + 1), False, False, , title & " Regression", False, _
        False, False, False, , False
    Sheets(title & " Regression").Move After:=Sheets(title & " Profile")

    'get values needed from Regression for SBP(t)
    Y = Format(Range("B17"), "0.0")
    a = Format((Range("B18") ^ 2 + Range("B19") ^ 2) ^ 0.5, "0.00")
    P = Atn(-Range("B19") / Range("B18"))
    If (P < 0) Then
        P = (P + 3.141593)
    End If
    If (-Range("B19") < 0) Then
            P = P + 3.141593
    End If
    
    Sheets(title & " Profile").Select
    Range("I1") = title & "(t)"
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "= " & Y & " + " & a & " * COS(2*PI()*RC[-7]+" & P & ")"
    Selection.AutoFill Destination:=Range("I2:I" & cnt + 1), Type:=xlFillDefault
 
'    Call ProfilePlot
End Function
Excel 表格如下 Date t SBP SBP x1 SBP z1 SBP x2 SBP z2 12/15/12 20:20 4593.85 132 0.57 0.82 -0.34 0.94 12/15/12 20:30 4593.85 152 0.61 0.79 -0.26 0.97 12/15/12 21:04 4593.88 141 0.72 0.69 0.03 1.00 12/15/12 21:07 4593.88 141 0.73 0.69 0.06 1.00 12/15/12 23:17 4593.97 117 0.98 0.19 0.93 0.37 12/15/12 23:19 4593.97 120 0.98 0.18 0.94 0.35 12/15/12 23:20 4593.97 119 0.98 0.17 0.94 0.34 12/15/12 23:21 4593.97 105 0.99 0.17 0.94 0.33 12/15/12 23:30 4593.98 113 0.99 0.13 0.97 0.26 12/16/12 0:00 4594.00 111 1.00 0.00 1.00 0.00 12/16/12 0:30 4594.02 105 0.99 -0.13 0.97 -0.26 12/16/12 1:00 4594.04 107 0.97 -0.26 0.87 -0.50 12/16/12 1:30 4594.06 109 0.92 -0.38 0.71 -0.71 12/16/12 2:00 4594.08 99 0.87 -0.50 0.50 -0.87 我只是把 Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range("$C$2:$C$" & cnt + 1), _ ActiveSheet.Range("$D$2:$G$" & cnt + 1), False, False, , title & " Regression", False, _ False, False, False, , False Sheets(title & " Regression").Move After:=Sheets(title & " Profile") 代码中的 ATPVBAEN.XLAM! 给删除了 office 安装文件里面的ATPVBAEN.XLAM 没有删除
mnxm 2013-03-20
  • 打赏
  • 举报
回复
Function Run([Macro], [Arg1], [Arg2], [Arg3], [Arg4], [Arg5], [Arg6], [Arg7], [Arg8], [Arg9], [Arg10], [Arg11], [Arg12], [Arg13], [Arg14], [Arg15], [Arg16], [Arg17], [Arg18], [Arg19], [Arg20], [Arg21], [Arg22], [Arg23], [Arg24], [Arg25], [Arg26], [Arg27], [Arg28], [Arg29], [Arg30])
    Excel.Application 的成员
猜想是用来执行宏的 后面的参数就是执行宏所用到的参数 你的宏文件丢失了 所以报错
lanbo1213 2013-03-20
  • 打赏
  • 举报
回复
引用 1 楼 dsd999 的回复:
ATPVBAEN.XLAM这个文件不是必须在当前目录。 你的问题是以前某个目录下有ATPVBAEN.XLAM这个文件,现在这个文件没了。 你电脑里搜搜这个文件。
计算机里没这个文件的,以前也没有这个文件。但是运行起来就不报这个错误。 弱弱的问问。这几行代码是什么意思?干什么的? 在线等....
dsd999 2013-03-20
  • 打赏
  • 举报
回复
ATPVBAEN.XLAM这个文件不是必须在当前目录。 你的问题是以前某个目录下有ATPVBAEN.XLAM这个文件,现在这个文件没了。 你电脑里搜搜这个文件。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧