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

Excel VBA宏编程入门(五)——用户交互[通俗易懂]目录任务介绍选择文件夹选择文件保存路径交互选择一列交互选择一行任务介绍VBA编程中,为了程序的灵活性,有时候需要用到用户交互操作,例如让用户选择一个文件夹,用户选择一个单元格等等。本文将介绍一些常用的用户交互操作的实现选择文件夹St=Application.FileDialog(msoFileDialogFolderPicker).Show’如果选择了文件夹就返回-1,不选择文件夹就返回0IfSt<>0ThenfileDir=Application.File

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

任务介绍

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

选择文件夹

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

选择文件保存路径

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

交互选择一列

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

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

交互选择一行

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

100:
    MsgBox "您选择了取消或者是关闭,即将退出程序", 64, "温馨提示"
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Word——Word在试图打开文件时遇到错误的一种解决办法

    Word——Word在试图打开文件时遇到错误的一种解决办法Word在试图打开文件时遇到错误的一种解决办法一、遇到的情况二、解决办法 1.将此word文件压缩 2.删除此word文档 3.将压缩包解压一、遇到的情况二、解决办法 1.将此word文件压缩 2.删除此word文档 3.将压缩包解压…

    2022年6月11日
    38
  • 移动端开发技术浅析

    移动端开发技术浅析移动端开发技术浅析目录APK下载概述技术介绍技术对比参考资料1.APK下载百度云链接:https://pan.baidu.com/s/1pLp44Fh2.概述“一次编码,处处运行”永远是程序员们的理想乡。二十年前Java正是举着这面大旗登场,击败了众多竞争对手。但是时至今日,事实已经证明了Java笨重的体型和缓慢的发展显然已经很难再抓住这个时代快速跃动的脚步。在

    2022年6月24日
    25
  • 什么是UE4(学ue4还是unity)

    对于游戏的来说,最能够影响它的性能的,便是游戏程序的开发、维护工作了。游戏开发、维护工作都是通过游戏开发引擎来完成的,而U3D和UE4正是如今行业主流的两款游戏开发引擎。不同的游戏开发引擎在不同的游戏中使用,那么具体的u3d和ue4的区别是什么?小编常被想要进入游戏行业的同学问到,学U3D和UE4哪个更好?其实这主要是看你自己的就业倾向。下面小编就从两款游戏开发引擎的具体区别来讲讲我们该如何选择。…

    2022年4月14日
    59
  • 一文详解读写锁_C++ 读写锁

    一文详解读写锁_C++ 读写锁作者|磊哥来源|Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)读写锁(Readers-WriterLock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。总结来说,读写锁的特点是:读读…

    2022年8月12日
    48
  • 第46章 执行数据库恢复

    第46章 执行数据库恢复

    2021年6月10日
    96
  • Eclipse配置maven环境「建议收藏」

    1、首先下载maven,下载地址为:http://maven.apache.org/download.cgi,然后选择apache-maven-3.6.0-bin.tar.gz,如下图所示:2、然后新建一个maven目录,如下图所示:3、将下载的maven包解压到该目录中,如下图所示:4、配置环境变量,新建一个MAVEN_HOME,值为:D:\InstallFile\Mav…

    2022年4月10日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号