首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Excel中循环录制的宏

在Excel中循环录制的宏
EN

Stack Overflow用户
提问于 2020-10-02 22:53:37
回答 1查看 206关注 0票数 0

我不熟悉VBA,所以请原谅这个问题的简单性。我有一个录制的宏,它从我的其中一个列中的超链接中选择、打开并保存一个文件。我只想做一个循环,在工作表中包含数据的所有行中重复这个宏。下面是录制的宏的代码,感谢大家的帮助。

代码语言:javascript
复制
Sub Extract()
'
'Extract Macro
'

'
Range("D2").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Workbooks.Open Filename:= _
    "https://channele.corp.etradegrp.com/communities/teams02/performance-monitoring/TPEF%20Library/A2Consulting_Tech_5650_VSAF.xlsm"
ActiveWindow.Visible = False
Windows("A2Consulting_Tech_5650_VSAF.xlsm").Visible = True
ChDir "O:\Procurement Planning\QA"
ActiveWorkbook.SaveAs Filename:= _
    "O:\Procurement Planning\QA\Copy of A2Consulting_Tech_5650_VSAF.xlsm", _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWindow.Close
End Sub 
EN

回答 1

Stack Overflow用户

发布于 2020-10-02 23:11:02

像这样的东西可能已经起作用了:

代码语言:javascript
复制
Sub Extract()
    
    Dim RngTarget As Range
    Dim StrFileName As String
    
    Set RngTarget = Range("D2")
    
    Do Until RngTarget.Value = ""
        
        RngTarget.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
        Workbooks.Open Filename:=RngTarget.Value
        StrFileName = Split(RngTarget.Value, "/")(UBound(Split(RngTarget.Value, "/")))
        Windows(StrFileName).Visible = True
        Workbooks(StrFileName).SaveAs Filename:="O:\Procurement Planning\QA\Copy of " & Split(StrFileName, ".")(0) & ".xlsm", _
                                      FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
                                      CreateBackup:=False
        Workbooks(StrFileName).Close
        
        Set RngTarget = RngTarget.Offset(1, 0)
    Loop
    
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64173697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档