【Excel VBA】Loop

时间:2024-04-05 10:50:37

With和End with语句

俗点讲with的作用就是简化代码,让代码简洁易懂
让你不需要输入重复的内容
例如:
With [A1]
.RowHeight = 10
.ColumnWidth = 15
End With
相当于
[A1].RowHeight = 10
[A1].ColumnWidth = 15
省去了输入很多[A1]
也就是说with中以 . 开头的就相当于
WITH后的对象 .什么什么什么

For语句

和python类似:

  • 要先定义Sh的类型 =》Worksheet Sh.
  • Protect有很多argument,相当于保护工作簿的各种选项,可以单独列出(用comma分开)
  • 结束用Next, 不用End

【Excel VBA】Loop

IF THEN(ELSE, ELSE IF)

在工作中,分支判断是最常用的,尤其是IF语句,职场小白也都会使用,总结一下知识点。

¤IF分支结构¤

VBA的分支结构中,最常用的就是IF…Then…Else结构,这个结构在所有的编程语言中的逻辑都是一致的,哪怕是Excel的函数都一致,唯一需要注意的区别,就是在各种语言中的形式,其语法为

If condition Then [statements] [Else elsestatements]
或者
If condition Then
    [statements]
[ElseIf condition-n Then
    [elseifstatements]…
[Else
    [elsestatements]]
End If

其中,condition是逻辑判断表达式,所以该结构的逻辑如下:

【Excel VBA】Loop

注意:第一个形式,是单行形式,Then关键字之后只有一句表达式,而且可以省略Else和endif,建议只有一个简单判断的时候,一句判断就够用了,但是稍微复杂一点的,Then后面的语句有个任务需要执行,就老实的用下面的完整形式,举个例子:

IF … THEN…
END IF

【Excel VBA】Loop

IF…THEN…
ELSE IF…
ELSE…
END IF
【Excel VBA】Loop

Select Case

Select和IF一样,是VBA中常用的分支结构,当对同一个表达式的值进行多次判断,并根据判断需要进行不同程序的操作时,Select Case是经常被用到的,其语法结构如下:

【Excel VBA】Loop
知识点:

1、Select…Case结构中,程序将按照从上到下的顺序进行判断,一单满足任何一个Case分支,即可进入执行该分支中的所有语句,执行完成后退出Select…Case语句。

2、Select…Case语句,只能执行分支中的一个语句,但是,对各个语句的判断内容是没有限制的,也即判断的内容可以有overlap,这一点和IF有绝对区别的。

3、Select…Case分支结构,test expression进行判断,其书写方式比较特殊,有以下几种方式:

  • 大于、小于或不等于某个值,表示为**“Case Is >/</<>值”** (Case Is >200)
  • 等于某个值,表示为**“Case 值”** (Case 0)
  • 在某个范围内,表示为**“Case下限to上限”** (Case 1 to 100)
  • 多个条件间可用逗号隔开,如“Case 1 to 4,7 to 9,11,13”

Go to语句-for error handling

“Go to ”就是去到哪儿的意思。Go to 语句是将程序转到指定的标签的语句位置,然后继续往下执行。Go to 语句通常用来作错误处理。【Excel VBA】Loop
知识点:

  1. GoTo后要跟一个Label,并且在sub最后说明Label要做什么
  2. Label前要先Exit Sub