【vba】【excel】宏 选择文件夹

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = strPath
        .Title = "请选择文件夹"
        .Show
        MyPath = .SelectedItems(1) & "\"
    End With

  主要是这个方法得利用Application.FileDialog,还有很多其他得参数可以设定

FileDialog属性设定:

  1. AllowMultiSelect :允许用户从文件对话框中选择多个文件,填写 True。
  2. Filters.Add 规则名称, 过滤文件类型, 规则起始位置(初始为1) :添加过滤规则
  3. SelectedItems :选取的多个文件集合
  4. InitialFileName :设置初始路径和文件名称
  5. InitialView :可以设置初始文件的显示样
  6. Title :设定对话框标题
  7. show :可以判断用户是否点击了取消按钮,如果点击取消会返回0,否则返回-1
  8. ilters.Clear :清除当前的过滤规则
  9. ButtonName :选择按键名称
  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用VBA编写一个来合并Excel文件夹中的文件。以下是一个示例代码: ```vba Sub 合并文件夹中的Excel文件() Dim 文件夹路径 As String, 文件路径 As String, 目标工作簿 As Workbook, 源工作簿 As Workbook Dim 目标工作表 As Worksheet, 源工作表 As Worksheet Dim 目标行数 As Long, 源行数 As Long ' 设置文件夹路径 文件夹路径 = "C:\文件夹路径\" ' 创建目标工作簿 Set 目标工作簿 = Workbooks.Add ' 循环遍历文件夹中的所有文件 文件路径 = Dir(文件夹路径 & "*.xls*") Do While 文件路径 <> "" ' 打开源工作簿 Set 源工作簿 = Workbooks.Open(文件夹路径 & 文件路径) ' 循环遍历源工作簿中的所有工作表 For Each 源工作表 In 源工作簿.Sheets ' 在目标工作簿中创建新的工作表 Set 目标工作表 = 目标工作簿.Sheets.Add(After:=目标工作簿.Sheets(目标工作簿.Sheets.Count)) ' 将源工作表的内容复制到目标工作表 源行数 = 源工作表.UsedRange.Rows.Count 目标行数 = 目标工作表.UsedRange.Rows.Count 源工作表.UsedRange.Copy 目标工作表.Cells(目标行数 + 1, 1) Next 源工作表 ' 关闭源工作簿 源工作簿.Close ' 继续下一个文件 文件路径 = Dir() Loop ' 保存目标工作簿 目标工作簿.SaveAs 文件夹路径 & "合并文件.xlsx" ' 关闭目标工作簿 目标工作簿.Close MsgBox "合并完成!" End Sub ``` 请将上述代码复制到ExcelVBA编辑器中(按ALT+F11打开编辑器),然后运行即可合并指定文件夹中的所有Excel文件。记得在代码中修改文件夹路径为你实际的文件夹路径,并根据需要进行其他自定义操作。运行完成后,合并后的文件将保存在指定文件夹路径下的"合并文件.xlsx"文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值