VBA——01篇(入门篇——简单基础语法)

news2024/11/29 10:41:48

VBA——01篇(入门篇——简单基础语法)

  • 1. 语法格式
    • 1.1 简单语法
    • 1.2 简单例子
  • 2. 变量
    • 2.1 常用数据类型
    • 2.2 声明变量的常用方式
    • 2.3 简单例子
  • 3. 单元格赋值
    • 3.1 直接赋值
    • 3.2 拷贝单元格
  • 4. 简单的逻辑语法
    • 4.1 简单if
    • 4.2 简单for循环
      • 4.2.1 简单语法例子
      • 4.2.2 简单应用实例
    • 4.3 简单for each循环
      • 4.3.1 语法格式
      • 4.3.2 简单例子
    • 4.4 do Loop
      • 4.4.1 语法格式
      • 4.4.2 简单例子
    • 4.5 do while Loop
      • 4.5.1 语法格式
      • 4.5.2 简单例子
    • 4.6 do until Loop
      • 4.6.1 语法格式
      • 4.6.2 简单例子
  • 5.

1. 语法格式

1.1 简单语法

Sub test_1()

    ' 代码块

End Sub

1.2 简单例子

  • 简单的一个弹框如下:
    Sub test_1()
    
        MsgBox "hello"
    
    End Sub
    
    在这里插入图片描述
  • 带简单定义变量的如下:
    Sub test_2()
    
        Dim name$
        
        name = "lucy"
        MsgBox name
    
    End Sub
    
    在这里插入图片描述

2. 变量

2.1 常用数据类型

数据类型简写
byte
Integer%
Long&
String$
Date

2.2 声明变量的常用方式

  • 如下两种
    • dim 变量名 as 数据类型
      Dim age As Integer
      
    • dim 变量名数据类型间写
      Dim Integer%
      

2.3 简单例子

  • 代码如下:
    Sub test_3()
        Dim num&     '&-Long
        Dim name As String
        Dim age As Integer
        Dim birth$    '$-String
        Dim score%, desc$    '%-Integer
        
        num = 1000000001
        name = "lucy"
        age = 18
        birth = Format(Date - 18 * 365, "yyyymmdd")
        score = 98
        desc = "beautiful girl"
    
    MsgBox "num-" & num & "-->name-" & name & "-->age-" & age & "-->birth-" & birth & "-->score-" & score & "-->desc-" & desc
    
    End Sub
    
  • 效果如下:
    在这里插入图片描述

3. 单元格赋值

3.1 直接赋值

  • 几种赋值方法:
    • [a1] :单元格简写
    • Range("单元格地址")
    • Cells(行,列)
  • 例子如下:
    	Sub test_4()
    
        [a1] = 123
        Range("a2") = "hello,a2"
        Cells(3, 1) = "hi,a3"
      
    End Sub
    
    在这里插入图片描述

3.2 拷贝单元格

  • 常用写法如下:
    Sub test_8()
    
    '1. 连格式一起拷贝
    Range("a1").Copy [b1]
    
    '2. 下面三种写法只拷贝值
    [a3] = [a1]
    
    Range("a1").Copy
    Range("c1").PasteSpecial xlPasteValues
    
    Range("a1").Copy: Range("d1").PasteSpecial xlPasteValues '这个写法同上,只是没有换行(所以Copy后用 冒号和空格)
    
    End Sub
    
    在这里插入图片描述

4. 简单的逻辑语法

4.1 简单if

  • 如下:
    Sub test_10()
       Dim age1 As Integer
       Dim age2%
       
       age1 = 18
       age2 = 22
       
       If age1 < age2 Then
            MsgBox "age1 < age2"
       End If
       
    End Sub
    

在这里插入图片描述

4.2 简单for循环

4.2.1 简单语法例子

  • 简单例子1(计算自然数1到10的和),如下:
    Sub test_14()
    
        Dim n%, sum%
        
            For n = 1 To 10
                sum = sum + n
            Next
        
        MsgBox sum
    
    End Sub
    
    在这里插入图片描述
  • 简单例子2(计算1到10中奇数的和),如下:
    在这里插入图片描述

4.2.2 简单应用实例

  • 如下:
    Sub test_17()
        Dim row_num%, cell_num%
    
        For row_num = 2 To 4
            For cell_num = 2 To 6
                If Cells(row_num, cell_num) < 60 Then
                    Cells(row_num, cell_num).Interior.ColorIndex = 3
                End If
            Next cell_num
        Next row_num
    
    End Sub
    
    在这里插入图片描述

4.3 简单for each循环

4.3.1 语法格式

  • 如下:
    For Each 变量名 In 对象集合
        
         '循环体内容
            
    Next
    

4.3.2 简单例子

  • 如下:
    Sub test_19()
    
        Dim r As Range
        Dim n%
        
        For Each r In Range("a1:c5")
            n = n + 1
            r.Value = n
        Next
    
    End Sub
    
    在这里插入图片描述

4.4 do Loop

4.4.1 语法格式

  • 如下:
    Do
        '循环体内容
    Loop
    

4.4.2 简单例子

  • 如下:
    Sub test_20()
    
    Dim n%, sum%
    
    Do
        If sum >= 50 Then
            Exit Do
        Else
            sum = sum + n
            n = n + 1
        End If
    Loop
    MsgBox "n:" & n & "-->sum:" & sum
    
    End Sub
    
    在这里插入图片描述

4.5 do while Loop

4.5.1 语法格式

  • 如下:
    Do while 条件(条件成立之行循环体)
        '循环体内容
    Loop
    

4.5.2 简单例子

  • 改写上面的 do Loop 的例子,如下:
    Sub test_21()
    
    Dim n%, sum%
    
    Do While sum < 50
    
            sum = sum + n
            n = n + 1
    
    Loop
    
    MsgBox "n:" & n & "-->sum:" & sum
    
    End Sub
    
    在这里插入图片描述

4.6 do until Loop

4.6.1 语法格式

  • 如下:
    Do until 条件(条件成立退出循环体)
        '循环体内容
    Loop
    

4.6.2 简单例子

  • 改写上面的 do Loop 的例子,如下:
    • 写法1:
      Sub test_22()
      
      	Dim n%, sum%
      	
      	Do Until sum >= 50
      	
      	        sum = sum + n
      	        n = n + 1
      	
      	Loop
      	
      	MsgBox "n:" & n & "-->sum:" & sum
      
      End Sub
      
    • 写法2:
      Sub test_23()
      
      	Dim n%, sum%
      	
      	Do
      	
      	        sum = sum + n
      	        n = n + 1
      	
      	Loop Until sum >= 50
      	
      	MsgBox "n:" & n & "-->sum:" & sum
      
      End Sub
      
      在这里插入图片描述

5.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/523934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于混合整数二阶锥(MISOCP)的配电网重构(附matlab代码)

参考资料&#xff1a;主动配电网网络分析与运行调控 (sciencereading.cn) 配电网重构是指在满足配电网运行基本约束的前提下&#xff0c;通过改变配电网中一个或多个开关的状态对配电网中一个或多个指标进行优化。通过配电网重构&#xff0c;可以在不增加设备投资的情况下&…

注解实现:判空赋值

工作中的小玩意~~ 流程&#xff1a; 注解实现反射工具类 注解定义及实现 注解定义&#xff1a; Documented Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface CheckParam {String value() default "-1"; }简单解释上述其相关注解…

哈工大2023春计算机组成原理真题回忆

仅供同学参考&#xff0c;严禁用作商业用途 如发现将追究责任 2023-5-14 属鼠经历了计算机组成原理考试 现将本人真题回忆如下&#xff1a;欢迎大家补充&#xff0c;并期待大家一起参与这个开源的项目。 致谢:真诚感谢草履虫同学提供的图片 15个选择部分回忆如下 &#xff1a…

【历史上的今天】4 月 13 日:Damn Small Linux 首次发布;谷歌关闭短网址服务;数学先驱出生

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 4 月 13 日&#xff0c;在 2006 年的今天&#xff0c;盛大文学榕树下网站被民营企业收购&#xff1b;原创文学网站榕树下被民营传媒集团欢乐传媒收购&#xff…

hnust 湖南科技大学 2023 软件测试技术 期中考试 复习资料

前言 写的比较匆忙&#xff0c;重点也不明确&#xff0c;没什么参考价值致谢&#xff1a;ly&#xff0c;zxq重点来源&#xff1a;信安※&#xff1a;补充内容★&#xff1a;重点✦&#xff1a;个人推测考点考试范围&#xff1a;1-9章获取最新版本 题型 判断&#xff1a;10简…

AMBER分子动力学模拟之TOP准备-- HIV蛋白酶-抑制剂复合物(1)

AMBER分子动力学模拟之TOP准备-- HIV蛋白酶-抑制剂复合物(1) 我们以HIV蛋白酶-抑制剂复合物为例子&#xff0c;跑Amber动力学模拟 下载1phv 从PBD下载文件&#xff1a;https://www.rcsb.org/ PDB文件预处理 我们以 “protein(water) ligandcomplex” 为例来说一下如何处…

系统设计基本原理-耦合与内聚

耦合 耦合是模块之间的相互独立性(互相连接的紧密程度)的度量&#xff0c;耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型等。 耦合类型 无直接耦合&#xff1a;指两个模块之间没有直接的关系&#xff0c;它们分别从属于不同模块的控制与调用&…

k8s基础11——安全控制之RBAC用户授权、RBAC用户组授权、SA程序授权

文章目录 一、K8s安全框架1.1 鉴权1.1.1 HTTPS证书认证1.1.2 HTTP Token认证 1.2 授权1.3 准入控制1.4 集群四大角色 二、RBAC给用户授权&#xff08;TLS&#xff09;2.1 签发客户端证书2.2 生成kubeconfig授权文件2.2.1 手动生成2.2.2 脚本生成2.2.3 切换操作集群 2.3 定义RBA…

移动应用开发实验-内容提供者-ContentResolver的使用

文章目录 前言读取通讯录信息要求环境 具体实现主页面布局(activity_main.xml)关于RecyclerView库的相关问题添加RecyclerView库操作 解决报错Item布局(info.xml)添加访问权限编写实体类&#xff08;ContactInfo.java&#xff09;编写适配器&#xff08;MyAdapter.java&#xf…

20 散列表的查找

散列表的查找 简介&#xff1a;散列表&#xff08;也成哈希表&#xff09;是一种高效的数据结构&#xff0c;他可以在平均复杂度为O(1)的情况下实现查找、插入和删除操作。 哈希表的基本思想是根据关键字的值来计算其应存储的位置。这个计算过程就是通过哈希函数来实现的。 根…

计算机视觉——day 91基于双网络的鲁棒特征高光谱目标检测(偏门且很水啊)

基于双网络的鲁棒特征高光谱目标检测 I. INTRODUCTIONII. 提出的方法A. 总体框架B.训练集构建C. Dual Networks III. EXPERIMENTSIV. 结论 I. INTRODUCTION 用于高光谱目标检测的深度网络训练通常面临样本有限的问题&#xff0c;在极端情况下&#xff0c;可能只有一个目标样本…

黑盒测试方法

1 等价类划分 1.1 定义 等价类划分法是一种典型的&#xff0c;并且是最基础的黑盒测试用例设计方法。采用等价类划分法时&#xff0c;完全不用考虑程序内部结构&#xff0c;设计测试用例的唯一依据是软件需求规格说明书。 所谓等价类&#xff0c;是输入条件的一个子集合&…

kali整体版本更新方法,为啥更新?

玩过kali都知道&#xff0c;如果不更新版本&#xff0c;那么安装某个软件总是有很多依赖版本问题&#xff0c;解决起来的确麻烦&#xff0c;这篇文章彻底解决这些问题。 1&#xff0c;更新源 国外源与国内源的选择 kali默认配置的是国外源&#xff0c;但国外源的下载速度非常慢…

基于容器和Kubernetes的应用无限扩容

基于应用负载动态管理CPU、内存等资源的使用是云原生架构的最佳实践之一&#xff0c;Kubernetes通过资源请求和限制以及HPA/VPA等机制&#xff0c;为云原生应用资源管理提供了很好的支持。原文: Infinite Scaling with Containers and Kubernetes[1] 如果没有足够资源让容器完成…

matlab第八章_Simulink简介

目录 Simulink简介 基本知识 Simulink组成 模块库简介 Simulink系统仿真 Stateflow建模与应用 Stateflow的定义 状态图编辑器 Stateflow流程图 Simulink简介 基本知识 Simulink是实现动态系统建模&#xff0c;仿真和分析的软件包&#xff0c;被广泛应用于线性系统&…

土地报征简介

报征概念&#xff1a; 土地报征是指国家为了人民整体利益出发&#xff0c;根据我国相关法律和法规的要求和流程&#xff0c; 将集体土地性质转化为国有土地性质&#xff0c;并给予被征地的对象给予合理的补偿和安置工作。报征4个价段&#xff1a; 1、组卷阶段 &#xff08;1&…

Linux系统之top命令的基本使用

Linux系统之top命令的基本使用 一、top命令介绍二、检查本地环境1. 检查操作系统版本2. 检查系统内核版本 三、top命令的使用帮助1. top命令的选项2. top命令的交换命令 四、top显示信息解释1. top的第一行解释2. top的第二、三行信息解释3. top的第四、五行信息解释4. top的进…

Java 常用注解的使用

在Java中&#xff0c;注解&#xff08;Annotation&#xff09;是一种元数据&#xff0c;它提供了一种机制&#xff0c;可以将元数据与代码一起存储&#xff0c;并使其可用于编译器、解释器或其他工具的处理。注解可以在Java源代码中添加元数据&#xff0c;以提供更多的信息&…

【Linux】Linux基本指令(3)

一.时间的相关指令 date显示 单纯的输入 date 会以这种形式输出&#xff1a; 但其实这种形式我们看着是不太习惯的&#xff0c;我们可以指定形式输出&#xff1a; 格式为&#xff1a;date 选项 %H : 小时(00..23) %M : 分钟(00..59) %S : 秒(00..61) %X : 相当于 %H:%M:%S %d …

Qt扫盲-QPieSlice理论总结

QPieSlice理论总结 一、概述二、标签三、属性设置四、信号说明 一、概述 QPieSlice 类表示饼图中的单个QPieSlice。饼图QPieSlice有一个值和一个标签。将QPieSlice添加到饼图时&#xff0c;QPieSeries对象将自动计算QPieSlice的百分比&#xff0c;并与序列中所有QPieSlice的总…