我们知道,Excel中有很多内置的函数,比如求和,求平均,字符串操作函数,金融函数等等.在有些时候,结合业务要求,这些函数可能不能满足我们的需求,比如我想要一个函数能够从WebService上获取某只股票的最新价:我想要一个函数能够获取当前的天气情况,这些需求我们可以通过编写Excel自定义函数(User Define Function ,UDF )来实现,这样,在Excel中直接调用我们的自定义函数即可满足特定的业务需求,一般地,因为这种自定义函数的粒度相对较小,所以我们可以根据业务需求编写很…
用excel处理数据的时候,无论是使用VBA还是函数,查找和引用都是两大主要的工作,VBA中的find系列的方法(find.findnext.Range.FindPrevious)返回range对象,可以同时实现查找和引用,因此非常有用,下面列举一些常见的find的用法: Sub Find1() '在某列查找 Dim k k = Range("A:A").Find("A").Row MsgBox k End Sub =========================…
方法1. 用VBA自带的dir()判断,代码如下: 在 Microsoft Windows 中, Dir 支持多字符 (*)和单字符 (?) 的通配符来指定多重文件 Function IsFileExists(ByVal strFileName As String) As Boolean ) <> Empty Then IsFileExists = True Else IsFileExists = False End If End Function Sub Run() If IsFileExi…
'================================ ' VBA采用Application.OnTime实现计时器 ' ' http://www.cnhup.com '================================ Public RunWhen As Double ' two minutes Public Const cRunWhat = "TheSub" ' the name of the procedure to run Sub StartTimer…
将变量做为参数传递给方法 Sub Test() Dim a As Integer a = Add a Debug.Print a '引用传递,a的值发生了变化,输出101 End Sub Function Add(a As Integer) a = a + End Function 结论:VB传参时默认是引用传递byRef. 使用byVal关键字强制形参为值传递 Sub Test() Dim a As Integer a = Add a Debug.Print a '值传递,a的值没有变化,输出…
因见到有人求助批量设置工作簿中的超链接,尝试写了一段代码: Sub AddHyperlinks() Dim strName As String, source As String, target As String Dim i As Integer i = source = "目录!a1" Do While Cells(i, "d") <> "" strName = Cells(i, "d").Text targe…
Sub GetData() Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.Recordset Dim col As Integer '清空电子表格的所有数据 Cells.Clear '连接数据库的字符串 strConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=name;Password=pwd;In…
方法一 Sub test1() //変数の定義 Dim a() As Integer, iRow As Long, i As Integer //非空白のセールまでの行を取得 iRow = Cells(Rows.Count, "A").End(xlUp).Row //動的な配列を作成 ) //繰り返して.セールの値を配列にセット To UBound(a) a(i - ) = Range("A" & i) Next End Sub 方法二 Sub test()…