用VBA如何批量将工作表保存到指定的文件夹?

我想实现的是效果是引用工作表的D2单元格,根据D2显示的内容,比如是A,我会将它放到C:\盘\测试文件夹中的A文件夹,如果是B,放到B文件夹。以下是我个人想的操作代码,请大佬指导一下哪里需要改进

更新了一下答案,增加了判断文件夹是否存在。

如果名称为D1值的文件夹尚不存在,那么自动创建文件夹。

Sub 测试()

    Dim sht As Worksheet, iStr1$, iStr2$, iName$

    iStr1 = "C:\Users\Administrator\测试"

    For Each sht In Worksheets

        iStr2 = iStr1 & "\" & sht.Range("D1") & "\"

        If Dir(iStr2, vbDirectory) = "" Then

            MkDir iStr2 '如果不存在,则创建夹

        End If

        sht.Copy '复制工作表为新的工作簿

        ActiveWorkbook.SaveAs iStr2 & sht.Name & ".xlsx" '另存

        ActiveWorkbook.Close '关闭活动工作簿

    Next

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-23
用vba保存到指定的文件夹,这种情况下,我们就是在电脑上先建立一个文件夹,然后上传保存就可以了
相似回答