前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA宏编程入门(五)——用户交互[通俗易懂]

Excel VBA宏编程入门(五)——用户交互[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-05 14:37:56
1.2K0
发布2022-09-05 14:37:56
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

目录

任务介绍

VBA编程中,为了程序的灵活性,有时候需要用到用户交互操作,例如让用户选择一个文件夹,用户选择一个单元格等等。本文将介绍一些常用的用户交互操作的实现

选择文件夹

代码语言:javascript
复制
St = Application.FileDialog(msoFileDialogFolderPicker).Show '如果选择了文件夹就返回-1,不选择文件夹就返回0
If St <> 0 Then
    fileDir = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)    '取选择的文件夹路径
    MsgBox "您选择的文件夹是:" & fileDir     
Else
    Exit Sub    '没有选择合并文件所在路径,退出程序
End If

选择文件保存路径

代码语言:javascript
复制
Dim fileSaveName
'保存文件所在路径
fileSaveName = Application.GetSaveAsFilename(InitialFileName:="合并.xlsx", fileFilter:="Text Files (*.xlsx), *.xlsx")
If fileSaveName <> False Then
    MsgBox "Save as " & fileSaveName
Else
    Exit Sub    '没有选择保存路径,退出程序
End If

'创建空白excel文件
Set cwb = Workbooks.Add
cwb.SaveAs fileName:=fileSaveName, _
           FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

交互选择一列

代码语言:javascript
复制
 '下面通过InputBox这个方法确定分组项所在的列
On Error GoTo 100 '如果有错误跳转到100处
Set Rg = Application.InputBox("请选择分组项所在的列(可以单击其中一个单元格)", "选择", Type:=8) '用了这句不可以关闭屏幕刷新
ColNum = Rg.Column '把要拆分的列赋值变量 ColNum
Sheets(Rg.Parent.Name).Activate '将选择的工作表设置为活动工作表

100:
    MsgBox "您选择了取消或者是关闭,即将退出程序", 64, "温馨提示"

交互选择一行

代码语言:javascript
复制
'下面通过InputBox这个方法确定数据(表头、列标题除外)开始所在的行
On Error GoTo 100 '如果有错误跳转到100处
Set Rg = Application.InputBox("请选择标题所在的行(可以单击其中一个单元格)", "选择", Type:=8) '用了这句不可以关闭屏幕刷新
RowNum = Rg.Row '把数据开始的行赋值变量 RowNum

100:
    MsgBox "您选择了取消或者是关闭,即将退出程序", 64, "温馨提示"

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/136842.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 任务介绍
  • 选择文件夹
  • 选择文件保存路径
  • 交互选择一列
  • 交互选择一行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档