Tag Archives: VBA

VBA实现的HSL与RGB颜色转换

RGB与HSL的颜色转换经常被用到,网上也有不少相应的实现,但VBA实现的相对难见到,因此水文工具集使用VBA实现RGB和HSL颜色转换代码,以供参考,具体源代码如下:
阅读全文 >

VBA自定义函数在水文数据四舍六入中的应用

水文资料整编规范》SL247—1999自2000年1月1日起实施,标准中有关规定如下:水文资料整编成果中,各要素的取用精度位数后一位数字采用“四舍六入”法取舍,即取用精度位数后一位数字小于五者则舍,大于五者则入,等于五时若其后有非零尾数则入,无非零尾数则视取用的末位数字的奇偶取舍,为奇则进,为偶则舍。
阅读全文 >

VBA实现保存Excel多个工作表中的选择区域为CSV文件

经常需要将Excel工作表转换成CSV文件,而使用另存为的功能只能对一个工作表进行操作,同时保存的总是整个工作表,而对于有多个工作表的文件特别是还有许多不需要保存到CSV文件中的内容,这样的处理方式就会显得很麻烦,因此采用VBA实现保存Excel多个工作表中的选择区域为CSV文件。首先在Excel选择需要导出的工作表(选择的方法是:点击选择第一个工作表,然后按下ctrl同时再点击其它工作表),选择之后,运行下面的VBA宏,宏代码如下:
阅读全文 >

VBA实现的线性插值算法源代码

水文应用中经常用到插值函数,如水位流量互查、水位库容互查等,而Excel作为一个常用的办公工具,如能在Excel中实现这样的函数是很实用的,这里给出一个VBA实现的线性插值算法代码,具体代码如下:
阅读全文 >

和声搜索算法源代码

和声搜索算法是一和启发式的全局搜索智能算法,在许多优化问题中得到了成功应用,而且在不少优化问题上比常规的一些智能算法的性能表现更优越,并且程序实现比较简单,这里给出的源代码是和声搜索算法的一个实现版本,harmony search算法的介绍流程可以参考CnHUP写的和声搜索算法,具体代码如下:
阅读全文 >

VBA实现的数组快速排序

下面的VBA代码实现了快速排序算法,可以对一个数组进行排序。数组元素的类型可以是数值或者字符串,实行排序后,原输入数组便会按照要求排好序,这意味着这个函数会对原数组修改。QSortInPlace函数可以对数值或者字符串数组按要求升序或者降序进行排列。QSortInPlace的原型声明如下:
阅读全文 >

VBA中实现对数组随机排序

在许多智能算法中,需要对群体进行随机排序(或称为混洗)。假定一个数组中保存了各个个体的索引,则对此索引数组进行随机排序就相当于对群体进行了随机排序。这里提供了两个函数ShuffleArray与ShuffleArrayInPlace,前者会返回排序后的数组,而后者对传入的数组进行随机排序,更新的是传入的数组,不返回任何数值。具体代码如下:
阅读全文 >