用VBA编辑了这样一个函数,在一台电脑显示ok,换到公司电脑就显示错误,请大虾帮忙!

作者&投稿:戚霍 (若有异议请与网页底部的电邮联系)
【急】用VBA编一个Sumif函数总是出错,请大家帮忙~

程序的目的没有叙述清楚,从语法上也有明显错误。
Dim r As Variant 与 sum = sum + r.Value 有矛盾。
Cells(8, X).Formula = SumIfCoflex(arr)中 X 是什么没有交代。
请举例说明,在怎样的情况下,应得到怎样的结果。

Private Function Ch(ByVal S As String)
Dim C As String
Select Case S

Case "f"
C = "8"

Case "w"
C = "5"
'*********************
'仿照上面的形式
'在这里添加你类似的替换定义

Case Else
C = S
End Select

Ch = C
End Function


Private Function Change(ByVal StrA As String) As String
Dim I As Integer
Dim strB As String
strB = ""
For I = 1 To Len(StrA)
strB = strB & Ch(Mid(StrA, I, 1))
Next
Change = strB
End Function

'这个是要运行的宏名
Private Sub d()

Dim Col As Integer
For Col = 1 To 100 '这100是自定义的最大值,根据数据所在列数修改
Sheet1.Cells(Col, 2) = Change(Sheet1.Cells(Col, 1))
Next
End Sub

问题不够详细,
你说的显示错误是指函数值错误#VALUE!?
还是宏运行错误?那行错误提示什么等?
不同电脑测试都有工作表Sheets("DPS")吗?

把函数写规范点:
Function part_no(byval j as long,byval k as long, byval a as long) as string '这里要规范点
Dim m As Integer
Dim n As Integer
Dim y As String

m = Sheets("DPS").Cells(k + 1, 3 + a) '''获得最大值
For n = j To k
If Sheets("DPS").Cells(n, 3 + a) = m Then
y = Sheets("DPS").Cells(n, 3)
Exit For
End If
Next n
part_no = y
End Function


Excel VBA编程教程(基础一)
首先,让我们进入VBA的世界。在新创建的、启用宏的工作簿中,通过开发工具图标或快捷键Alt + F11,打开这个神秘的VBA编辑器。在这里,你可以创建模块,存储你的代码,就像在舞台上搭建你的剧本一样。编写宏的步骤如下:1. 初始化:新建一个空白模块,键入基础宏结构,如`Sub MyCode()`,然后在其中输...

怎样使用vba编辑wps文件
1、首先我们把wps文字这款软件打开,进入到WPS文字的操作界面,如图所示:2、打开WPS文字之后,在菜单里找到开发工具选项,点击该选项可以看到宏是灰色的,我们无法使用,如图所示:3、我们从网上下载一个vba6这样的一个程序如图所示:4、我们双击vba6的快捷图标,弹出安装对话框,如图所示:5、安装完成之...

怎么用VBA在excel中添加一个工作表并且对其命名?
1、首先,在Excel中按快捷键“Alt + F11”,如下图所示。2、其次,在VBA编辑器中依次单击“插入”-->“模块”,如下图所示。3、然后,在“模块”中输入如下代码:Option Explicit Sub addwork()Sheets.Add after:=Sheets(Sheets.Count)End Sub 4、接着,在VBA编辑器的左侧输入模块的名称,如下...

vba编程教程是什么?
方法1:点击excel菜单中的【开发工具】,然后在代码选项卡中点击【Visual Basic】 即可,如下图所示:方法2:右击excel左下角【Sheet1】,在弹出的菜单中点击【查看代码】即可,如下图所示:2、编写第一个vba程序 步骤:通过上边的方法打开vba编辑器。在第一个下拉菜单中选中【worksheet】,在第二个下...

Excel中使用vba控制语句的操作方法
Excel中使用vba控制语句的操作步骤如下:首先我们打开一个工作样表作为例子。按下alt+f11进入vba编辑器,并新建一个模块作为学习的例子。接下来我们搭建模块必须的准备工作,对变量进行显性声明,并新建一个模块定义。vba中对程序操作的流程的控制使用if函数进行控制。在excel中也有if函数公式。大家可以理解...

怎样用vba写字典查询
1. 添加引用:在VBA编辑器中,首先需要添加对"Microsoft Scripting Runtime"的引用,这样才能使用Scripting.Dictionary对象。可以通过"工具" -> "引用"菜单,在弹出的对话框中勾选"Microsoft Scripting Runtime"。2. 声明和创建Dictionary对象:在VBA代码中,需要声明一个Dictionary对象变量,并使用New关键字...

ExcelVBA一个简单例子VBA快速入门
1.首先要允许excel加载宏 excel文件-》excel选项(右下脚)-》信任中心-》信任中心设置-》允许加载宏 2.按住alt+F11打开vba命令编辑器 里面可以写各种函数,事件响应等,具体信息可查看vba帮助文档。vba的帮助文档在打开vba编辑器后,按F1可打开,里面包含各种对象,对象的属性、事件、方法,详细用法和...

VBA代码修改筛选后统计只计算“在职”的员工人数,并将计算结果放到shee...
如果你想在VBA代码中修改筛选后统计"在职"员工人数,并将计算结果放到sheet2中,可以这样做:在Sheet1中打开VBA编辑器:按Alt + F11。在VBA编辑器中,点击插入模块。输入以下代码:Sub CountEmployees()Dim lRow As Long Dim i As Long Dim count As Long '获取数据范围 lRow = Cells(Rows.Count...

(急)VBA程序的建立,编辑和运行方法?
<一>属性 1、Count属性,只读,返回Excel打开的工作簿数 <二>方法 1、Add方法,向工作簿对象集中一个新的工作簿,相当于“文件->新建”命令。格式如下: Workbooks.Add Template 2、Open方法,打开一个指定的工作簿。格式看一下VBA编辑器中的提示就行,太累了,不想写得这么全。 3、Close方法,关闭一个工作簿文件...

Excel中用VBA写一个判断并弹出对话框
Range("B1") '假设B1内容,实际当中自行编写 If A1 > B1 Then Rsp = MsgBox("A1已大于A2,请确定继续?", vbYesNo)If Rsp = vbNo Then ThisWorkbook.Close End If End If End Sub实际输入上述代码,可采用vba编辑器,选择对应的工作表,再选择相应事件SelectionChange,复制输入上述代码。

宜秀区18224262103: 用VBA编辑了这样一个函数,在一台电脑显示ok,换到公司电脑就显示错误,请大虾帮忙! -
贾韦盐酸: 把函数写规范点:Function part_no(byval j as long,byval k as long, byval a as long) as string '这里要规范点 Dim m As Integer Dim n As Integer Dim y As Stringm = Sheets("DPS").Cells(k + 1, 3 + a) '''获得最大值For n = j To k If Sheets("DPS"...

宜秀区18224262103: 在excel 自己编写函数,怎么能做到在其他的excel中也能用.如我在VBA编写的一个函数不能在其他excel再用. -
贾韦盐酸: 将做的所有自定义函数放在一个文件中,做成加载宏;或者保存在个人宏工作簿中,都可以.只要EXCEL主程序运行的时候加载了这个文件,就可以在其他工作簿中使用了.

宜秀区18224262103: VBA 自定义函数怎么跨表格调用?? -
贾韦盐酸: 在单元格输入=aa() 你这个自定义函数有问题,函数没有返回数据 function aa() cells(1,2)=“aaa” aa="aaa" end function

宜秀区18224262103: VBA如何在一个模块中引用另一个模块的函数 -
贾韦盐酸: 1、按ALT+F11调出EXCEL中VBA界面. 2、右键插入一个模块. 3、首先新建一个子程序,如图,填写公式进去. 4、for 是可以从任意数字开始和结束的,如图,我们从第2行到第10行.点击运行后,依次计算并填写完成. 5、接下来,用同样方法写完求平均数公式. 6、同样,运行后,可以看到,不均数也填写完成了. 7、这样填写的是公式,仔细观察,会发现相当于我们自动输入了公式,而不是计算后的值.

宜秀区18224262103: excel vba中自定义一个函数,该函数需要用到函数所在的那个单元格的列号,如函数写在b5单元格
贾韦盐酸: Function myAddr() myAddr = ActiveWorkbook.Application.ThisCell.Address End Function将返回运行自定义函数的单元格的地址 所以可以用 Dim rC As Range Set rC = ActiveWorkbook.Application.ThisCell这样rC的行/列号就可以使用了,注意这样的自定义函数是可以随意拖动的.楼主当然明白,由于是属于VBA的自定义函数,需要触发才能更新,按F9或,在Excel设定为自动重算的前提下有单元格的数据发生变化而触发重算时或,在Excel设定为保存时重算并且操作者执行了保存是,才会更新自定义函数的数据.

宜秀区18224262103: 用VBA编写计算N!的函数,调用此函数计算1!+2!+…+N!,N的值由输入框输入,结果在消息框输出 -
贾韦盐酸: dim n as integer,i as integer, j as integer,m as long, sum as long n=val(inputbox("")) m=1 for i=1 to n for j=1 to i m=m*j next sum=sum+m next msgbox sum

宜秀区18224262103: 用vba 做一个自定义函数,计算下面的解 3x+4y=56 x+y=15,并且把所有的解都放在c18的下拉列表中 -
贾韦盐酸: '本例中,统计的是第E列的数据,按需修改成你要的列号'最大值 最小值类型是Double,可按需修改为你的类型 Private Sub CommandButton1_Click() Dim iNum As Long, iMax As Double, iMin As Double iMax = 100 '最大值 按需修改为你要的值 ...

宜秀区18224262103: 如何在VBA中应用Excel的函数,如vlookup()? -
贾韦盐酸: Application.WorksheetFunction.VLookup() 括号里头该怎么写还怎么写 比如 Cells(r, 5) = Application.WorksheetFunction.VLookup(Cells(r, 1), Range("B1:D100"), 2, 0)

宜秀区18224262103: 通过EXCEL VBA自定义了一个函数,无法把数组传入到函数中. -
贾韦盐酸: 只能传 单元格,然后转数组.如下1 2 3 4 5FunctionMyTest(rng AsRange)Dimarr() AsVariantSetarr = rng.ValueMyTest = UBound(arr) EndFunction

宜秀区18224262103: EXCEL VBA中,如何使一个自定义函数工作起来? -
贾韦盐酸: 你用function的话,这个是个函数,是个值,当然不能在那儿孤零零的使用.要这样用,a=char_a("[n]",3),要赋予某个变量.而sub就不一样了,本身只是个子程序,调用即可.call sub(a,b)或者sub a,b 修改后的结果,楼主查收:Sub char_a...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网