• 如何用vba将形成a*b+c+d*e的数学表达式展开?

    比如将“75*2+90*3+120*1”形式的字符串展开为”75+75+90+90+90+120″形式的字符串。

    可以使用如下的自定义函数:

  • 如何在vba中定义常量?

    在编写vba代码的过程中对于经常使用的不变的数据,我们可以通过定义常量的形式把使得该数据的含义更加清晰。

    比如要在一段vba代码中要反复使用3000这个数字,它代表的是基础工资,那么可以定义如下的常量:

    一般的,在vba中定[……]

    阅读全文

  • 如何用vba生成随机的不重复整数?

    如何用vba生成随机数?一文中我们介绍了用vba函数Rnd生成随机的0到1之间的不重复实数。

    如果要生成区间范围更大的随机整数,比如生成4到10之间的随机整数,可以使用如下的代码:

    一般地,如果要生成[a,b]之间的随机整[……]

    阅读全文

  • 如何用vba生成随机数?

    在vba中可以使用Rnd函数生成一个小于1,大于等于0的随机实数。

    它的语法如下:

    1.如果number参数不提供或者是>0的话,则生成随机数序列中的下一个随机数。

    例如如下的代码将在工作表中生成100个小于1,大于等[……]

    阅读全文

  • 如何用vba获取任意月份的最后一天的日期?

    在excel 中有个工作表函数EOMONTH,可以返回指定日期的月所在最后一天的日期。

    在vba中没有这样的函数,但是可以使用DateSerial函数变通的获取到任意月的最后一天的日期。

    代码如下:

    实现原理就是先获取[……]

    阅读全文

  • 如何在vba中使用shell.application对象?

    Shell.Application表示外壳中的对象。方法被提供于控制外壳和执行外壳内的命令,也有一些方法获得其他外壳相关的对象。

    以下代码将打开运行对话框:

    以下代码相当于按下ctrl+tab键在打开的窗口之间切换:
    [c[……]

    阅读全文

  • 如何在vba中实现将单列数据分列为多列数据的功能?

    在excel的“数据”选项卡下的“数据工具”组中有“分列”功能,可以实现将单列数据按照固定宽度或者指定的分隔符进行分列。

    在vba中可以使用range对象的TextToColumns方法实现以上功能。

    它的语法如下:

    [……]

    阅读全文

  • 如何在vba中求二进制序列的任意高低位值?

    我们知道十进制数111,可以表示为1*10^0+1*10^1+1*10^2,即可以等于1+10+100。

    任何一个n位的十进制数都可以表示为m位的数字(1≤m≤n)与10的m-1次幂的乘积之和。

    类似的一个二进制数10010,可以表示为0*2^0+1*2^1+0*2^2+0*2^3+1*[……]

    阅读全文

  • 如何用vba返回两个数的余数?

    在vba中提供了一个操作运算符mod可以直接计算两个数相除后的余数。

    比如要求32与6相除后的余数,可以是用如下的代码:

  • 如何用vba返回数值的整数部分?

    比如数值1.23的整数部分为1,5.67的整数部分为5。

    一个数值的整数部分就是将该数值的小数部分去除,不进行四舍五入。

    vba中提供了一个内置的int函数可以方便的实现这个目的。

    代码如下:

    但是如果是一个负数[……]

    阅读全文