VB中if和elseif的用法是:

if...then...elseif...then...else...endif

切记在then的后面不要加冒号,加了冒号出现else没有if的错误,因为加了冒号表示这个if只是执行then的语句就算执行完了,因此如下

 Sub test()
Dim i As Integer
Dim j As Integer
Dim a
For i = To :
Debug.Print ("这是第" & Str(i) & "次循环")
a = InputBox("请输入") If a = "" Then
MsgBox ("执行1")
Debug.Print ("执行1")
ElseIf a = "" Then
MsgBox ("执行2")
Debug.Print ("执行2")
ElseIf a = "" Then
MsgBox ("执行3")
Debug.Print ("执行3")
ElseIf a = "" Then
MsgBox ("执行4")
Debug.Print ("执行4")
ElseIf a = "" Then
MsgBox ("执行5")
Debug.Print ("执行5")
Else:
MsgBox ("什么都没有执行")
Debug.Print ("什么都没有执行")
End If
Next i
End Sub

如果是加了冒号那么只能是一个if:

 Sub test()
Dim i As Integer
Dim j As Integer
Dim a
For i = To :
Debug.Print ("这是第" & Str(i) & "次循环")
a = InputBox("请输入") If a = "" Then:
MsgBox ("执行1")
Debug.Print ("执行1") Next i
End Sub

如果是以下这样子就会报错:

 Sub test()
Dim i As Integer
Dim j As Integer
Dim a
For i = To :
Debug.Print ("这是第" & Str(i) & "次循环")
a = InputBox("请输入") If a = "" Then:
MsgBox ("执行1")
Debug.Print ("执行1")
ElseIf a = "" Then:
MsgBox ("执行2")
Next i
End Sub

VB的if和elseif的更多相关文章

  1. VB.net 2010 AndAlso,OrElse和And,Or的区别

    '************************************************************************* '**模 块 名:VB.net 2010 AndA ...

  2. VB.net Wcf事件广播(订阅、发布)

    这篇东西原写在csdn.net上,最近新开通了博客想把零散在各处的都转移到一处.   一.源起 学WCF有一段时间了,可是无论是微软的WebCast还是其他网上的教程,亦或我购买的几本书中,都没有怎么 ...

  3. 记忆用户设置-提升程序的体验VB/C#

    有时候,设计的程序有很多的控件,甚至多达近百个,尤其是一些工控软件等,程序运行所需的各种参数都是由用户通过这些控件设置而来,那么记录用户的设置就显得十分必要.如果程序出现异常,起码重新打开可以不用再一 ...

  4. VB.NET vs. C#

    VB.NET Program Structure C# Imports System Namespace Hello    Class HelloWorld        Overloads Shar ...

  5. 演练:使用Xamarin.Forms开发产品介绍性质的应用(VB版)

    概述 Xamarin这个使用mono和.net core的跨平台开发框架这几年在不断发展.被微软收购后的Xamarin为个人开发者提供了免费版的Xamarin for Visual Studio,吸引 ...

  6. 三层架构实例 VB.NET版

    三层实例 首先发现感慨,对于三成这块,用到都是一些面向对象的特征,尤其是对象的实例化.如果你不是很注意的话,那么,你就会一头雾水,就像我一样,慢慢的雾里看花,最后也是走出来的,不过用的事件是相当的. ...

  7. VB最新使用教程

    Visual Basic是一种由 微软公司开发的结构化的.模块化的.面向对象的.包含协助开发环境的事件驱动为机制的可视化程序设计语言.这是一种可用于微软自家产品开发的语言.它源自于BASIC编程语言. ...

  8. VB 语言学习笔记.

    暂时用到,学习学习. 变量声明 Dim 变量名 as 数据类型类型 Set 实例 = new 类名 自定义数据类型 Type 数据类型标识符 域名 As 数据类型; 域名 As 数据类型; 域名 As ...

  9. [转]c#.NET和VB.NET语法的比较

    本文转自:http://www.cnblogs.com/lify0407/archive/2007/08/01/838589.html c#.NET和VB.NET语法的比较   VB.NET C# C ...

随机推荐

  1. 【LeetCode OJ】LRU Cache

    Problem Link: http://oj.leetcode.com/problems/lru-cache/ Long long ago, I had a post for implementin ...

  2. Objective-C determine data network type of the iOS device

    Im on an application that receive data from server, the problem is when user connect to cellular dat ...

  3. ACE - 代码层次及Socket封装

    原文出自http://www.cnblogs.com/binchen-china,禁止转载. ACE源码约10万行,是c++中非常大的一个网络编程代码库,包含了网络编程的边边角角.在实际使用时,并不是 ...

  4. ZOJ2006 (后缀自动机)

    求一个字符串的最小表示法. 将字符串S倍长,从根走length(s)步所走路径即为最小表示法. 记所到达位置为x,则这个最小表示法的起点为a[x]-len(s)+1 ; var T:longint; ...

  5. array_walk() 函数

    array_walk() 函数对数组中的每个元素应用回调函数.如果成功则返回 TRUE,否则返回 FALSE. 典型情况下 function 接受两个参数.array 参数的值作为第一个,键名作为第二 ...

  6. 如何实现Magento产品批量导入?

    从事外贸的我们在工作中,经常需要添加成千上万个的产品,如果一个一个的去上传,要花费很多时间,有是很让人头痛,那么应该如何实现产品批量上传?如果使用的是Magento系统的话,那么你现在有福利了,因为M ...

  7. JS中offsetLeft,Left,clientLeft的区别(纯转贴)

    假设 obj 为某个 HTML 控件. obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素. obj.offsetLeft ...

  8. selenium执行js报错

    selenium执行js报错 Traceback (most recent call last):    dr.execute_script(js)  File "C:\Python27\l ...

  9. 在hdfs上存取xml文件的实现代码

    要读取的文件为:/user/hdfs/stdin.xml <?xml version="1.0" encoding="UTF-8"?> <re ...

  10. Hive on Spark运行环境搭建

    Hive是基于Hadoop的开源数据仓库工具,提供了类似于SQL的HiveQL语言,使得上层的数据分析人员不用知道太多MapReduce的知识就能对存储于Hdfs中的海量数据进行分析.由于这一特性而收 ...