ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: zhaozyuan

[原创] EXCEL\PPT中同玩VBA——VBA编程基础及简单程序实例(从头开始)

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 09:08 | 显示全部楼层

运算符和表达式

运算符和表达式

1.算术运算符
a.^,乘方运算符,如4^2
b.+,-,*,/;加减乘除
c.\整除,Mod求余数

2.比较运算符
a.>,<,>=,<=,<>,=;
b.结果只能为True False

3.连接运算符
a.&,字符连接;如"Basic " & 5的结果为 "Basic 5"
b.+,"A"+"B"结果为 "AB";"B" & 5提示出错;2+3结果为5

4.逻辑运算符
NotAndOrXor(异或)EqvImp(蕴含)
5.表达式
表达式由操作数和运算符共同组成
CurPay*0.8+200
intAge>25 And CurPay>1500
intVar1 & intvar2


[ 本帖最后由 zhaozyuan 于 2009-10-3 09:33 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 09:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

在PPT中演示程序实例

基础知识差不多了,开始行动吧
首先建立如下图所示的PPT和相关文本框和按钮(文本框分别命名为maxmin1、maxmin2、maxmin3)
2009-10-03_095251.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 10:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

用户定义类型程序代码

'自定义类型知多少
      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 10:30:00

001:Public Enum Sex
002:    女 = 0
003:    男 = 1
004:End
Enum
005:Private
Type Students '定义学生
006:          StuName As String   '定义学生名字为字符串类型
007:          StuBirthday As Date '定义学生生日为日期型
008:          StuSex As Integer '定义性别为整型变量(0女,1男)
009:End Type
      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 10:30:00

001:Sub test自定义学生()
002:Dim
St As Students
003:With
St
004:    .StuName = "小张"
005:    .StuBirthday = #1/1/1993#
006:    .StuSex = Sex.女 ' 0 '

007:End With
'Debug.Print st.StuSex, st.StuBirthday, st.StuName
008:With Slide1
009:    .maxmin1.Text = St.StuName
010:    .Maxmin2.Text = St.StuBirthday
011:    .Maxmin3.Text = St.StuSex
012:End
With
013:End Sub
test自定义学生指定给PPT上的那个对应的“自定义类型”按钮,运行一下试试,可以了吗?


[ 本帖最后由 zhaozyuan 于 2009-10-3 10:34 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 10:15 | 显示全部楼层

Excel中逻辑与算符演算程序

'逻辑与算符
你会在EXCEL中生成如图所示的结果吗?开动脑筋 想想看
2009-10-03_101517.png

[ 本帖最后由 zhaozyuan 于 2009-10-3 10:18 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-10-3 10:26 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 10:35 | 显示全部楼层
原帖由 no7of2001 于 2009-10-3 10:26 发表
不错,收了

马马虎虎,喜欢就好

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 10:58 | 显示全部楼层

Excel中逻辑与算符演算程序(代码提示)

假设你在考试,以下这份考卷,你会做吗?
      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 10:49:07

001:Sub 逻辑与算符()
'变量定义区变量定义区变量定义区变量定义区

002:Dim i, J As Integer
003:Dim a, b As Boolean
004:Dim xlname As String
005:Dim wb As Workbook
'变量定义区变量定义区变量定义区变量定义区

006:With Sheets("参考")
007:    If
.[B3] = "" Or .[b4] = "" Then
008:        MsgBox "请先输入姓名和学号"
009:        Exit
Sub
010:    End If
011:    xlsname = "\St" & .[B3] & .[b4] & ".xls"
012:    If
.[a1] = 1 Then
013:        Set wb = Workbooks(Right(xlname, Len(xlsname) - 1))
014:    Else

015:        Set wb = ThisWorkbook
016:    End
If
017:End With
018:With wb.Sheets("答题")
019:    .Select
020:    .Cells.Clear
021:    .[a1].Resize(8) = Application.Transpose(Array("A", "B", "Not A", "A And B", "A Or B ", "A Xor B", "A Eqv B", "A Imp B"))
022:    For
i = 0 To 1
    '以下为1答题区答题区答题区答题区答题区答题区答题区答题区区答题区答题区答题区答题区答题区答题区

    '在此给A赋值


    '以上为1答题区答题区答题区答题区答题区答题区答题区答题区区答题区答题区答题区答题区答题区答题区
023:        For J = 0 To 1
    '以下为2答题区答题区答题区答题区答题区答题区答题区答题区区答题区答题区答题区答题区答题区答题区

    '在此给B赋值


    '以上为2答题区答题区答题区答题区答题区答题区答题区答题区区答题区答题区答题区答题区答题区答题区
024:            .[B1].Offset(, i * 2 + J) = a
025:            .[B2].Offset(, i * 2 + J) = b
026:            .[B3].Offset(, i * 2 + J) = Not
a
027:            .[b4].Offset(, i * 2 + J) = a And b
028:            .[b5].Offset(, i * 2 + J) = a Or
b
029:            .[b6].Offset(, i * 2 + J) = a Xor b
030:            .[b7].Offset(, i * 2 + J) = a Eqv b
031:            .[b8].Offset(, i * 2 + J) = a Imp b
032:        Next
J
033:    Next
i
034:End
With
'保存
035:With wb
036:    .Save
037:    If
Not MsgBox("你确定要提交吗?", vbYesNo, "请答对后再提交,谢谢!") = vbYes Then Exit Sub
038:    .SaveAs .Path & xlsname
039:    Application.Quit
040:End
With
041:End Sub


[ 本帖最后由 zhaozyuan 于 2009-10-3 11:04 编辑 ]

逻辑演算考试.zip

10.89 KB, 下载次数: 172

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 12:04 | 显示全部楼层

Excel中逻辑与算符演算程序(代码提示)

参考答案http://club.excelhome.net/viewthread.php?tid=488588&page=4#pid3207639

[ 本帖最后由 zhaozyuan 于 2009-10-4 21:32 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 12:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

模块级变量

模块级变量
001:Option Explicit
002:Dim
Strname As String

      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 12:05:29

001:Sub Test1()
002:    Strname = Strname & "姓名"
003:    MsgBox Strname     '结果为 “姓名”

004:End Sub

      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 12:05:29

001:Sub test2()
002:    Strname = Strname & "张三"
003:    MsgBox Strname     ' 结果为 “姓名张三”

004:End Sub
运行一下,就可以体会到什么是'模块级变量

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-10-3 12:09 | 显示全部楼层

文本内容控制函数

'maxmin 函数,此函数功能是将t的值赋值给文本框Slid,并对Slid进行
'格式设置。其中,参数1为t,将其定义为字符串类型;参数2为slid,
'将其定义为文本框对象;ByVal表示“值传递”,ByRef为"地值传递"
      '撰写:宏FANS
      'QQ:1158268815
      '日期:2009-10-3 12:05:30

001:Function Maxmin(ByVal t As String , ByVal Slid As TextBox)
    '这里slid代表输入的(指定的)文本框(TextBox)对象

002:    With Slid
    '从with 到外层end with中间的“.”后面的属性或者对象

    '(包括.Font)都属于Slid
003:        .Text = t                  '设置文本框的内容为t
004:        .BackColor = vbWhite       '设置文本框的背景为白色
005:        .ForeColor = vbRed         '设置文本框的前景景为红色
        '从with 到内层end with中间的“.”后面的属性
        '或者对象属于Slid.Font(简写为.Font)
006:        With .Font            '以下为文本框的字体属性
007:            .Bold = True       '字体加粗(true)
008:            .Size = 25        '字体大小(25)
009:        End With '内层 end with
010:    End With '外层end with
011:End Function
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 20:26 , Processed in 0.042813 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表