用VBA可以编写可执行程序吗

用VBA可以编写可执行程序吗,第1张

可以,VBA编写的程序都可以执行,但是必须在EXCEL、WORD环境下执行,不能独立执行。

编写独立执行的程序需要使用VB,可以编译为一个EXE文件,这个文件可以在任何地方鼠标双击执行。

方法/步骤

1

首先声明下本方法主要通过 数据链接 加上SQL中的SELECT和WHERE语句实现的,当然你不需要知道具体的语法意义,只要会写这两个单词以及记住固定的格式就可以提取需要的数据了。下面进入主题

2

第一步当然是打开需要查询的工作表,为了方便大家理解,特别新创建了一张表格(如图一),可以看到里面包含了比较多的信息。

3

然后点击<数据>选项卡下的<现有连接>(如图二)在d出的<现有连接>对话框中选择<浏览更多>(如图三),

4

然后在d出的<选择数据源>对话框中找到需要提取数据的那张表所在工作簿的位置并选中,接着点打开(如图四),在d出的<选择表格>对话框中,同样选择数据所在的工作表,并勾选<数据首行包含列标题>然后点确定。(如图五)

5

出现(如图六)的<导入数据>对话框,这里需要说明下:因为我们是提取明细数据所以最好是选择默认的也就是区域1所表示表(如果对提取的数据还要进行分析统计的话建议选择数据透视表),关于数据的放置位置可以根据自己的需要选择,这里以现有的工作表为例。(注:现有的工作表的放置位置可以通过鼠标点选)。设置好这些后就进入最重要的语句输入了,点击属性按钮(区域3)

6

在d出的连接属性中点击<定义>选项卡,(如图七 八)在命令文本对话框中输入要提取的条件

7

关于条件的内容下面会举几个例子以供参考

这里首先说明下查询语句的格式如下:

select from [要提取数据的工作表名称$] where 条件

注:1:由于我们提取的都是整行的数据所以这里直接用代替所有

2:工作表的名称后面必须要加$

END

例一:如何提取单价大于25的记录

1

命令文本中输入

select from [1$] where 单价>25

点击确定后回到图六对话框再点击确定,d出图九,需要的数据一下就提取到了,是不是很方便

END

例二:如何提取区域为AA的记录

1

在命令文本中输入

select from [1$] where 区域="AA"

点击确定 结果如图十

注:字母,中文需要加""(英文状态下的双引号)

END

例三:如何提取区域为CC且(或)数量大于25且(或)单价大于30的数据

1

在命令文本中输入

select from [1$] where 区域="CC" and 数量>25 and 单价>30

点击确定结果如图十一

注:多个条件且的关系用and连接

2

如何提取区域为CC或数量大于25或单价大于30的数据

在命令文本中输入

select from [1$] where 区域="CC" or 数量>25 or 单价>30

注:或的关系用or连接结果如图十二

END

特别注意:

一、语句各个词之间一定要有空格连接

二、如果语句都是对的但是系统提示错误,要关闭文件并重新打开按前面的步骤重新 *** 作一遍即可,有可能是系统本身的原因导致的。如图

步骤阅读

3

三、查询好后如果需要再次查询需要先关闭文件再打开,不然很可能会出现上面二的错误。

用hour取得当前的小时,然后根据这个判断就好了,类似于

Sub sample()

Dim h, s

h = Hour(Now)

If h < 9 Then

s = "早上"

ElseIf h < 12 Then

s = "上午"

ElseIf h < 13 Then

s = "中午"

ElseIf h < 18 Then

s = "下午"

Else

s = "晚上"

End If

MsgBox s & "ºÃ"

End Sub

你既然提到VBA,就应知道SELECT CASE:

Function Locate(Number)

Select Case Number

Case 5,6,8,13

Locate = "北京"

Case Else

Locate = "错误"

End Select

End Function

两个Case之间还可以加入其它的判断,请参考:

使用 Select Case 语句

当一个表达式与几个不同的值相比较时,可以使用 Select Case 语句来交替使用在 IfThenElse 语句中的 ElseIf。IfThenElse 语句会计算每个 ElseIf 语句的不同的表达式,在控制结构的顶部,Select Case 语句只计算表达式一次。

在下面的示例中,Select Case 语句会计算发送给此过程的参数performance。请注意,每个 Case 语句可以包含一个以上的值,一个值的范围,或是一个值的组合以及比较运算符。如果 Select Case 语句与Case 语句的任何值相匹配,则可选的 Case Else 语句运行。

Function Bonus(performance, salary)

Select Case performance

Case 1

Bonus = salary 01

Case 2, 3

Bonus = salary 009

Case 4 To 6

Bonus = salary 007

Case Is > 8

Bonus = 100

Case Else

Bonus = 0

End Select

End Function

在VBA内自定义了函数后,就可以在单元格中直接使用:

在B1中输入=Locate(A1),若A1的值是5、6、8、13,就得到“北京”

以上就是关于用VBA可以编写可执行程序吗全部的内容,包括:用VBA可以编写可执行程序吗、Excel VBA如何获取qq对话框内容、请问怎么用Excel中VBA编写一个程序,根据系统时间问好求代码,谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9703686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存