Tag: 函数

如何编写通用函数来打开和closures数据库连接?

我是Excel VBA的初学者,非常感谢您的帮助。 请指教我如何创build一个通用函数来打开和数据库连接,另一个函数closures它,以避免重复编码? 这是我的代码。 我被困在如何继续… Const connection_string As String = "Provider=SQLOLEDB.1;Password=XXX;Persist Security `Info=True;User ID=sa;Initial Catalog=TESTDB;Data Source=XXXX;" Sub DuplicateDBConnection() 'Declare variables Set cn1 = New ADODB.Connection Set cmd1 = New ADODB.Command Set rs1 = New ADODB.Recordset 'Open Connection cn1.ConnectionString = connection_string cn1.Open 'Set and Excecute SQL Command Set cmd1.ActiveConnection = cn1 cmd1.CommandText = "Select stock_code, name, […]

在excel vba中使用“单元格”function

我想通过使用范围函数使用VBA在Excel中select一个单元格。 甚至在使用variables来指定范围而不是数字之前,我已经做了很多次了。 但是,我似乎无法使用单元格functionselect范围。 我知道这是可能的,因为我已经做了很多研究,并看到其他人的代码将成功运行使用此function。 下面是我用来尝试和select范围(这是只有一个单元格)的语法。 另外,当我运行代码时,我收到以下消息: “运行时错误”1004“:对象'全局'的'范围'方法失败。 感谢您的帮助。 Dim item As String Dim itempaste As Boolean Dim itemcnt As Integer itemcnt = 1 itempaste = False Range("X3").Select Do item = ActiveCell.Value If item <> "" Then Range("A18").Select Do If ActiveCell.Value = "" Then ActiveCell.Value = item itempaste = True Else ActiveCell.Offset(1, 0).Select End If Loop […]

Excel函数返回月份之间的差异?

我有一个工作表,有一个开始date和结束date。 我需要得到这些date之间的月数。 我用公式=MONTH(B1)-MONTH(A1)得到那#。 然而这个公式失败,当我的date跨越多年 – 如果开始date是1/1/2014和结束date是1/1/2015,然后返回一个“1”,当我想获得一个“12”。 然后我尝试了DATEDIF(A1,B1,"m")来获得date之间的月份数,并且工作。 但是,我的问题可以通过下面的例子来总结: 情况1: 开始date:1/5/2014 结束date:3/1/2014 “MonthDif”: 2 DateDif: 1 情况2: 开始date:1/5/2014 结束date:3/10/2014 “MonthDif”: 2 DateDif: 2 正如你所看到的, DATEDIF函数返回完整的月份数,而我的month – month函数返回开始date和结束date之间差异“占用”的月数,无论它们是完整的月份。 我需要在任何date期间的月数,不pipe是整整几个月! 基本上,我需要的是什么MONTH(B1)-MONTH(A1)返回,除了它将工作多年。 另外,我正在考虑devise一个自定义的VBA函数来达到上述目的。 如果有人有任何build议。

在Excel中使用中值如果需要帮助

我需要在电子表格中返回一个特定类别的中位数。 下面的例子 Airline 5 Auto 20 Auto 3 Bike 12 Airline 12 Airline 39 等。 我怎样才能写出一个公式,只返回航空公司类别的中值。 类似于平均值,仅用于中位数。 我不能重新排列这些值。 谢谢!

VBA Excel函数用于返回字节中的文件大小

我希望在Excel 2010中使用VBA返回同一个文件夹中的某些文件的文件大小或不同的文件大小。我该如何解决这个问题?

Excel的查找function; 超出值的例外

我最近了解到, Excel的Find函数在找不到大海捞针(即没有find匹配项)时会返回一个#VALUE错误。 我有几个关于这个行为的问题: 是否有另一个Excel函数作为查找,但返回一个实际值(例如-1),当没有find匹配? 有这种行为的function是否有任何众所周知的理由? 我的意思是,谈论一般的编程和软件devise,是否有一个已知的模式(或方法论,或devise理念),当function不返回时,更喜欢抛出exception返回值(如-1,0,“”或类似的)一个“有效”的价值?

将数字字符转换为字母字符

我试图得到I / O如下: input:123490 输出:BCDEJA 逻辑很简单: 如果 strarr(i)=0,1,2,3,4,5,6,7,8,9 然后 strarr(i) should be = A,B,C,D,E,F,G,H,I,J 码 str = .Cells(18, "B").Value strarr() = Split(str) For i = LBound(strarr) To UBound(strarr) If strarr(i) = 0 Then .Cells(24, "B") = "A" & .Cells(24, "B") Else If strarr(i) = 1 Then .Cells(24, "C") = "B" & .Cells(24, "C") Else If […]

我怎样才能在Excel中结合多个嵌套的替代函数?

我试图设置一个函数来重新格式化一个string,稍后将被连接起来。 一个string示例如下所示: Standard_H2_W1_Launch_123x456_S_40K_AB 尽pipe有时候“ S ”不存在,有时“40K”是“60K”或者不存在,“_AB”也可能是“_CD”或“EF”。 最后,所有的下划线都需要改成连字符。 最终产品应该是这样的: Standard-H2-W1-Launch-123×456- 我有四个function,如果一个接一个地运行,将会照顾所有这些: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"_AB","_"),"_CD","_"),"_EF","_") =SUBSTITUTE(SUBSTITUTE(B2,"_40K",""),"_60K","") =SUBSTITUTE(C2,"_S_","_") =SUBSTITUTE(D2,"_","-") 我已经尝试了将这些function合并到一个function中的多种方法,但是我对这个级别的excel相对比较陌生,所以我不知所措。 无论如何要结合所有这一切,以便它在一个单元格中执行一个命令之后? 谢谢你的帮助!

你如何在VBA中findLeapyear?

什么是VBA中的IsLeapYear函数的良好实现? 编辑:我运行的if-then和DateSerial实现迭代包装在一个计时器,和DateSerial更快的平均1-2毫秒(300次迭代5次运行,1平均单元格工作表公式也工作)。

VBA函数来testing单元格是否在Excel中有条件格式化

我写了下面的函数来testing单元格是否具有基于单元格填充激活的条件格式化。 Function cfTest(inputCell) If inputCell.DisplayFormat.Interior.Color <> 16777215 Then cfTest = True Else cfTest = False End If End Function 但它不起作用。 说这个方法呢。 Sub myCFtest() Dim R As Integer R = 2 Do If Range("I" & R).DisplayFormat.Interior.Color <> 16777215 Then Range("K" & R).Value = True Else Range("K" & R).Value = False End If R = R + […]