Tag: 函数

创build一个返回Mysql数据的自定义Excel函数

我想创build一个自定义的Excel函数,它将单元格值作为参数来查询mysql数据库 Function excelmysql2() Dim odjDB As ADODB.Connection Dim sqlstr As String Dim rs As ADODB.Recordset Dim oRS, nRec, oFld Dim Row '———————————————————————- Set odjDB = New ADODB.Connection Sheets("Sheet1").Select odjDB.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver};" & _ "SERVER=192.168.0.64;" & _ "DATABASE=mifos;" & _ "Port=3307;" & _ "USER=root;" & _ "PASSWORD=admin;" Set oRS = odjDB.Execute("SELECT account.customer_id FROM […]

在Excel VBA中返回声明

所以,我在处理return语句的VBA编码时遇到了一些麻烦,我不明白是什么原因造成的。 我做了和其他人一样的回复声明,但似乎在某个地方有一个错误。 有人可以告诉我,我的函数的返回语句中的错误吗? Public Function GetPay(Hours, RegHours, OTHours, PayRate, RegPay, OTPay) As Double Const MAX_REG_HOURS As Integer = 40 Dim RT As Double If Hours > MAX_REG_HOURS Then RegHours = 40 OTHours = Hours – MAX_REG_HOURS Else RegHours = Hours End If RegPay = CDbl(txtPayRate.Text) OTPay = CDbl(txtPayRate.Text * 1.5) Return RT = (RegPay * […]

根据颜色和其他标准计算单元格

我正在使用Excel中的一些清单function,其基础是我们有一定数量的人员需要进行工作,包括多个站点的轮class 在规划花名册时,我们使用一组简单的彩色单元格填写,以便人们在日间,夜class,不花名册,年假等情况下进行填充。鉴于我们计划有多个网站,我需要快速公式,检查是否已经在多个地点同时轮class(显然不可能),这个人是否已经被列入名单,所以我们可以很容易地确定计划阶段何时发生冲突。 该公式需要返回TRUE或值(例如count> 1表示对该人员有多个赋值),以便我可以使用条件格式化或VBA来突出显示单元格/行,并提请注意冲突 我试过的是用几个VBA方法来加和/计数单元格: Function ISFILLED(MyCell As Range) If MyCell.Interior.colorIndex > 0 Then Result = True Else Result = False End If ISFILLED = Result End Function 和/或: Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM […]

如何使用Excel函数连接1个单元格中多行的值?

我有麻烦连接数据从Excel中的多个行到1单元格。 所以,我有两张床单。 工作表名称是“Data1”和“Data2”。 Data1上表格的简单布局:(列标题) Number | ID Data2上简单的表格布局:(列标题) ID | x | Number 我想在这里做什么? 由于数据是通过Data2上的TFS查询自动收集的,因此我试图在Data1的ID列中填写正确的ID。 我通过使用索引/匹配function来做到这一点。 =INDEX(Data2!A:C;MATCH([@[Number]];Data2!C:C;0);1) 但是,这只返回第一个find的值。 因此,如果在Data2的表中find4次Number 111,它将只返回Data2上表的第一行的ID值。 如果我将函数更改为:(注意下一行的+1) =INDEX(Data2!A:C;MATCH([@[Number]];Data2!C:C;0);1)& ", " & INDEX(Data2!A:C;MATCH([@[Number]];Data2!C:C;0)+1;1) 这将返回第二个ID,但是再次,我不得不指定+2和+3也得到所有的结果,如果我指定+5时,只有2个ID的数字,它仍然会得到ID从其他号码.. 我很乐意听取您如何解决这个问题的意见。 也许有一个计数function? 最好的祝福, 马蒂

在Excel中计算数据条件可能有所不同

我正在执教一支步枪射击小组,我正在devise一个程序来分析数据,所有需要的数据都存储在excel中的一个大的非规范化的表格中。 我希望能够计算每个射手的统计数据,如平均分,最高分,标准差等。我的总结表还需要一些variables来过滤数据,比如一天中的哪一天,哪一天的时间,远距离射击,一年。 我试图devise自己的function,如 Public Function AveScore(ShooterID As String, YearShot As Integer, Optional Day As String = "All Year", Optional TimeOfDay As String = "All Day", Optional Distance As String = "All", Optional OutOf As Integer = 40, Optional TopShots As Integer = 0, Optional AdjOutOf As Boolean = True) As Double 这样我就可以轻松地在我的床单上打电话,让我轻松调整我的格式。 然而,由于filter的性质,他们有时会过滤一些数据和其他时间,我希望在这些领域的所有数据。 每个filter对应于表中的一个字段。 我发现使用循环来计算结果的结果是许多压倒性的陈述,这是不切实际的,因为我必须考虑到需要某些条件时的每种可能性 […]

Find()函数查找公式不输出

Private Sub ListBox1_Click() asset = Me.ListBox1.Value ThisWorkbook.Sheets("AssetPurchase").Activate sl = Range("I7", "I500").Find(asset).Row Me.TextBox2.Value = Range("H" & Range("I7", "I500").Find(asset).Row).Value MsgBox (Range("I7", "I500").Find(asset).Row) End Sub 我正在使用上面的子切换工作表,然后searchstring的范围 我遇到的问题是这个范围内的单元格是从其他单元格的内容计算出来的,find()是在范围内search公式而不是公式的输出 我想在一个范围内的公式的输出匹配一个string

自定义函数中的语法错误

我在下面的代码的第一行中得到一个语法错误 。 我正在使用MSDN中显示的数组函数参数 。 从String()中删除括号后,错误消失,但我需要一个string数组。 我的代码到目前为止: Private Function Contains(name As String, names As String()) As Boolean Contains = False Dim Index As Integer For Index = 0 To names.GetUpperBound(0) If names(Index) = name Then Contains = True Exit For End If Next End Function

Excel自定义函数本身无限循环,“End Function”的工作方式如“Next”或“Loop”

我有两个版本的Excel工作簿。 他们基本上是一样的结构。 出于某种原因,我需要从版本A复制一些单元格到版本B,所以我编写了一个名为GetVal()的自定义函数,代码如下: Function GetVal(cur As Range) Dim CurSheet As String, RowN As Integer, ColN As Integer RowN = cur.Row ColN = cur.Column CurSheet = cur.Parent.Name GetVal = Workbooks("BIG Inventory Data – 2015 P10W1.xlsx").Worksheets(CurSheet).Cells(RowN, ColN).Value End Function 然后我在A1单元格中input“= GetVal(A1)”,另一个工作簿的A1数据就会自动显示出来。 这个自定义函数在一开始就工作得很好。 在我使用这个函数来填充所有我需要的数据之后,我写了一个试图将所有getval()公式转换成纯数值的子函数。 这是简化的testing代码: 'First I Set the test Range to this GetVal function Sheets("vba").Range("A1").Formula = "=GetVal(Partner_HLJ!D3)" […]

在另一列的条件下总结一列的公式

我正在尝试创build一个公式,在另一列的某些条件下总结一列。 例如,如果列a包含字母“y”和“z”,并且只有列b中select的行中包含数字,则需要一个只计算列b的总和的公式,该列在列z中具有字母a。 例如,在屏幕截图中,我想要一个将自动求和“y”和“z”的公式: 例

Excel分析:replace第二列中的值

图片已经附在下面的链接中: Excel图像 正如你所看到的,图像中有四列有数字,第一列有数字顺序,第二列有1-8的数字是非零的。现在,第四列是已过滤的第一列,第五列没有非零数字。 我想要的是从第五列的数字粘贴通过replace相应的ColA值的第二列中的零。 第一列再次是一系列数字,第四列的数字在第一列进一步向下。 我希望这是有道理的。 先看八行来澄清。 请告诉我一个能为我完成这个工作的function。 我真的需要这样的东西。 非常感谢。谢谢!