ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VBA application.run不能调用宏(已经解决,谢谢大家)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-10-14 10:37 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
问题已经解决,非常感谢大家的帮助![code]
1.jpg
附注:
以前是可以运行的,突然不能用了,请问是怎么回事呢?
我也没有禁用宏啊
而且单独运行该宏是可以的。
因为我有好几个单独运行的宏,我想另外单独做一个总宏,调用已经编好的所有的宏。
先行谢过~
不断学习,不断进步…………
问题已经解决,非常感谢大家的帮助![code]
PS:是宏名称引用不对,转到excel界面,打开宏,
这样就能看到宏的名称了。如下图示:
3.jpg

Workbooks("facility.csv").Sheets("facility").Copy after:=Workbooks("convertdata.xlsm").Sheets("exposure")
Sub Exposure()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open ("C:\Documents and Settings\pyuan\Desktop\Test\Test data\facility.csv")
Workbooks("facility.csv").Sheets("facility").Copy after:=Workbooks("convertdata.xlsm").Sheets("exposure")
On Error Resume Next
ActiveSheet.NAME = "facilitydata"
Workbooks("facility.csv").Close

Dim m As Integer, n As Integer
Sheets("facility").Select
m = ActiveSheet.UsedRange.Rows.Count
n = ActiveSheet.UsedRange.Columns.Count
Range(Cells(2, 1), Cells(m, n)).Select
Selection.Copy

Sheets("exposure").Select
Cells(2, 1).Select
ActiveSheet.Paste

Range("B:B").Select
Selection.NumberFormatLocal = "@"

On Error Resume Next
Sinpdel "facilitydata"

Application.ScreenUpdating = True
Application.DisplayAlerts = True
Sheets("conversionpage").Select
End Sub

Sub delandcopy()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks("convertdata.xlsm").Activate
'sinpaddlast "BlankSheet"
Dim sh As Worksheet
For Each sh In Worksheets
If LCase(sh.NAME) <> "conversionpage" Then
sh.Delete
End If
Next
'ActiveSheet.NAME = "sheet1"

'copy all the sheets
Workbooks.Open ("C:\Documents and Settings\pyuan\Desktop\Test\Test data\ZTestPortfoliotInput.xlsx")
For Each sh In Worksheets
sh.Copy before:=Workbooks("convertdata.xlsm").Sheets(1)
Next

ActiveWorkbook.Save
Workbooks("ZTestPortfoliotInput.xlsx").Close

'clear all the contents
Workbooks("convertdata.xlsm").Activate
ActiveWorkbook.Save
Dim p, q As Integer
For Each sh In Worksheets
If LCase(sh.NAME) <> "conversionpage" Then
sh.Select
p = ActiveSheet.UsedRange.Rows.Count
q = ActiveSheet.UsedRange.Columns.Count
'p = sh.[a1048576].End(3).Row
'q = sh.[xdf1].End(xlToLeft).Column
Range(Cells(2, 1), Cells(p + 1, q + 1)).ClearContents
End If
Next

Application.DisplayAlerts = True

Err.Clear
On Error GoTo 0
Sheets("conversionpage").Select

End Sub



Sub convertall()
If MsgBox("Do you want to convert the data?", vbYesNo, "DesignedByXP") = vbYes Then
tt = Timer
Application.ScreenUpdating = False
delandcopy
currencyLookup.currencyLookup
currencydiscouncurvemap
customcashflow.customcashflow
DefaultStatistic.DefaultStatistic
Exposure.Exposure
Group.Group
PortfolioToExposure.PortfolioToExposure
RunParameter.RunParameter
runparameterseed.runparameterseed
UsageFee.UsageFee
YieldCurve.YieldCurve
YieldCurveItem.YieldCurveItem
Tranche
TransitionMatrix
TransitionMatrixBucket
transitionmatrixvalue
exposuretypelookup.exposuretypelookup
portfolio
copyallsheets


On Error Resume Next

Workbooks("ZPortfoliotestOutput.xlsx").Save
Workbooks("ZPortfoliotestOutput.xlsx").Close
Workbooks("convertdata.xlsm").Sheets("conversionpage").Select
Application.ScreenUpdating = True

t = Timer - tt
MsgBox "Time Cost is: " & t & " " & "seconds"

Else
Exit Sub
End If
End Sub

[ 本帖最后由 seanpple 于 2010-4-28 22:32 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-10-14 10:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub Test()
    UsageFree
End Sub
正常这样调用就可以了,如果不能,应该是别的方面出了问题。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-14 11:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 2楼 alzeng 的帖子

这样写的话,运行后出现如下问题~
2.jpg

TA的精华主题

TA的得分主题

发表于 2009-10-14 11:49 | 显示全部楼层
你确定模块里有UsageFree这个宏吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-14 13:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 4楼 alzeng 的帖子

我是直接从另外一个sub程序里复制过来的,我确定有这个宏名。
按F5,弹出来的下拉列表里也有这个宏。呵呵~

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-4-28 22:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub YieldCurve()
Sinponoff ("off")
Application.DisplayAlerts = False
Application.ScreenUpdating = False

On Error Resume Next
Workbooks.Open ("C:\Documents and Settings\pyuan\Desktop\Test\Test data\yieldcurve.csv")
Workbooks("yieldcurve.csv").Sheets("yieldCurve").Copy after:=Workbooks("convertdata.xlsm").Sheets(Sheets.Count)
On Error Resume Next
ActiveSheet.NAME = "yieldcurvedata"
Workbooks("yieldCurve.csv").Close

Dim Rng As Range
Dim sh As Worksheet
Dim Ary
Set sh = Sheets("yieldcurvedata")
For Each Rng In sh.Range([A1], sh.[a1048576].End(3))
If Rng = "compoundFreqencyL" Then
Sheets("YieldCurve").[b1048576].End(3).Offset(1) = Rng.Offset(, 1)
ElseIf Rng = "curveID" Then
Sheets("YieldCurve").[a1048576].End(3).Offset(1) = Rng.Offset(, 1)

End If
Next
Sinpdel "yieldcurvedata"
Sinponoff ("on")

End Sub

TA的精华主题

TA的得分主题

发表于 2010-5-26 12:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-8-26 10:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-14 13:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
dd.jpg dd1.jpg


  1. Sub M()
  2. '
  3.     Windows("Book.xls").Activate
  4.     Windows("Book3.xls").Activate
  5.     Application.Run "Book.xls!ll"
  6. End Sub



  7. 'Other excel file
  8. Sub ll()
  9.    For ii = 1 To 5
  10.         Debug.Print ii
  11.    Next ii
  12. End Sub
复制代码


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 06:30 , Processed in 0.036826 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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