VB中if和elseif的用法是:

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

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

  1. Sub test()
  2. Dim i As Integer
  3. Dim j As Integer
  4. Dim a
  5. For i = To :
  6. Debug.Print ("这是第" & Str(i) & "次循环")
  7. a = InputBox("请输入")
  8.  
  9. If a = "" Then
  10. MsgBox ("执行1")
  11. Debug.Print ("执行1")
  12. ElseIf a = "" Then
  13. MsgBox ("执行2")
  14. Debug.Print ("执行2")
  15. ElseIf a = "" Then
  16. MsgBox ("执行3")
  17. Debug.Print ("执行3")
  18. ElseIf a = "" Then
  19. MsgBox ("执行4")
  20. Debug.Print ("执行4")
  21. ElseIf a = "" Then
  22. MsgBox ("执行5")
  23. Debug.Print ("执行5")
  24. Else:
  25. MsgBox ("什么都没有执行")
  26. Debug.Print ("什么都没有执行")
  27. End If
  28. Next i
  29. End Sub

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

  1. Sub test()
  2. Dim i As Integer
  3. Dim j As Integer
  4. Dim a
  5. For i = To :
  6. Debug.Print ("这是第" & Str(i) & "次循环")
  7. a = InputBox("请输入")
  8.  
  9. If a = "" Then:
  10. MsgBox ("执行1")
  11. Debug.Print ("执行1")
  12.  
  13. Next i
  14. End Sub

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

  1. Sub test()
  2. Dim i As Integer
  3. Dim j As Integer
  4. Dim a
  5. For i = To :
  6. Debug.Print ("这是第" & Str(i) & "次循环")
  7. a = InputBox("请输入")
  8.  
  9. If a = "" Then:
  10. MsgBox ("执行1")
  11. Debug.Print ("执行1")
  12. ElseIf a = "" Then:
  13. MsgBox ("执行2")
  14. Next i
  15. 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. IndexOf() LastIndexOf() Contains() StartsWith() EndsWith()方法比较

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. JLOI 斯迈利的赌注

    直接高精度模拟,加上简单贪心 Program XJOI2263; ..] of longint; var a,b:arr; s1,s2:ansistring; i,j:longint; sum:int ...

  3. Unity3D ShaderLab 模拟精灵动画

    Unity3D ShaderLab 模拟精灵动画 在上一篇,介绍了通过Shader 模拟纹理运动,那么更深一步讲,我们也可以把帧动画的精灵纹理运动通过shader实现. 虽然大家都是在游戏脚本中做更高 ...

  4. Difference Between Performance Testing, Load Testing and Stress Testing

    http://www.softwaretestinghelp.com/what-is-performance-testing-load-testing-stress-testing/ Differen ...

  5. D - Charm Bracelet 背包问题

      Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Pra ...

  6. C++调试技巧

    编号:1010时间:2016年5月13日11:15:20功能:C++调试技巧http://www.cnblogs.com/lidabo/p/3631055.html

  7. Linux下删除乱码或特殊字符文件

    今天遇到一个问题,一个文件名是“-MXV9.log”,直接用rm删除的时候就报错,如下: [localhost]rm -MXV9.log rm: illegal option -- M rm: ill ...

  8. HDU 5945 维护一个单调队列 dp

    Fxx and game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Tot ...

  9. windows下apache及mysql定时自动重启设置

    有时候觉得,服务器运行时间过长,造成服务器内存等压力过大.因此,不用重新启动服务器的情况下,完成apache和mysql的内存释放,是非常有益处的(把重启时间设置在访问量最低的).首先,apache的 ...

  10. map遍历的四种方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...