Tag Archives: VBA

VBA产生柯西分布随机数CauchyRand

智能算法中除了经常用到正态分布的随机数外,还经常需要另外一种分布随机数产生器,那就是柯西分布,柯西分布可以有较大的概率跳出局部最优,加大搜索范围,不少改进的进化算法都引入了柯西分布随机数来对算法进行改进,CnHUP曾经在VBA产生正态分布随机数NormalRand中实现了相关的代码,这里再使用VBA实现柯西分布随机数的产生,函数名为CauchyRand。具体VBA代码如下:
阅读全文 >

6个简单而有用的VBA自定义函数

VBA内部有许多有用的内建函数,但对于好些常规任务(或常见的问题)仍然需要编写自定义函数,这些问题是比较通用的。如检查一个文件是否存在等。

这里包括了6个非常有用自定义VBA函数,你可以简单的复制这些代码到你的模块中,以备方便调用。

这些函数包括:
阅读全文 >

VBA产生正态分布随机数NormalRand

很多智能算法中经常需要产生正态分布的随机数来进行诸如领域搜索等功能,而在水文模拟中也可能需要产生一个正态分布的随机数列,这里在VBA中实现了一个正态分布随机数产生器,可以生成均值为0,方差为1.0的正态分布随机数生成,如果需要生成均值为Ex,方差为Cv的随机数可以使用 Ex + NormalRand()*Cv 来实现。具体VBA代码如下:
阅读全文 >

VBA中的高精度计时器

Excel中偶尔会用到高精度的计时器,如性能监视或统计,在一些水文应用(如水文数据查询或水文数据处理)中我们也可能非常需要了解整个程序的运行瓶颈在哪,以便有针对性地对程序进行改进,这就需要我们使用VBA调用API函数QueryFrequency与QueryCounter来实现,这里水文工具集对这些API调用进行了封装,包装为一个VBA的类,方便重复使用且易于调用。具体代码如下:
阅读全文 >

VBA以GIF文件格式导出Excel图表

Excel中使用VBA把图表保存为一个GIF文件是很容易的:只需要使用Chart对象的Export函数。下面是一个简单的宏,它把当前的图表保存为名为mychart.gif的GIF文件:

Sub ExportToGIF()
  If ActiveChart Is Nothing Then
    MsgBox "请先选择一个图表"
  Else
    ActiveChart.Export "mychart.gif"
  End If
End Sub


阅读全文 >

VBA中从网上下载文件

如果你开发的程序需要从网上下载一个文件,一般比较容易的方法是使用API函数URLDownloadToFile,本文介绍一个对此函数进一步包装,使得在VBA中更好的使用的VBA函数。这个函数名称为DownloadFile,原型如下:
阅读全文 >

Excel中根据单元格颜色进行排序

Excel中如果你想按照单元格颜色进行排序,Excel本身并不提供任何内建函数或者操作来完成,但可以使用自定义函数来完成。使用下面的函数可以获取单元格颜色:
阅读全文 >