精华内容
下载资源
问答
  • 先来说一下解决方案:使用 CurrentRegion.Value 即可。 -------- 今天需要在 Excel 里放一个小程序,于是在网上边搜 VBA 边写程序。 其中一步要获取“单元格所在列的最后一行的...类型不匹配? 于是我想调一下监视.

    先来说一下解决方案:使用 CurrentRegion.Value 即可。

    --------

    今天需要在 Excel 里放一个小程序,于是在网上边搜 VBA 边写程序。

    其中一步要获取“单元格所在列的最后一行的行数”,网上给了很多方法,其中一个是用求上限函数:Ubound(数组位置)

    按照文章的方法,我可以写:

    rowMax = UBound(Worksheets(1).Range("b2").CurrentRegion, 1)

    但是运行的时候系统提示:

    类型不匹配?

    于是我想调一下监视窗口,结果点了半天屏幕没反应……后来才发现是在窗口的最下面的那一小条,拉起来……(感觉好傻哈哈)

    经过查询发现,如果只写到“CurrentRegion”,那么类型是variant/object/range,但是如果后面再写上".value"的话,类型则是variant/variant(1 to 40, 1 to 4),就解决了。仔细查了一下函数里的内容,发现竟然没有 value 属性,但是有 value2,而且在后面写“.value2”也是可以的。Hmm, interesting...

    我用的版本是买电脑送的Office 2019 家庭学生版

    展开全文
  • 昨天领导开会,谈论关于运营支撑系统的报表... 会议期间领导提出可以使用VBA来实现,而领导对VBA也是了解多,而Ricki则是一点具体的概念也没有,只听说过VB,呵呵!领导说了,这份功能由他来实现,而且必须当天...
    昨天领导开会,谈论关于运营支撑系统的报表数据处理的需求问题,也就是把一张excel表中的数据复制到另外一张excel表中,人工也可以操作,为了解放这份劳动力,运营支撑部门的领导要求用程序来实现这个功能。
    

    会议期间领导提出可以使用VBA来实现,而领导对VBA也是了解不多,而Ricki则是一点具体的概念也没有,只听说过VB,呵呵!领导说了,这份功能由他来实现,而且必须当天内实现从一张表中取数据并复制到另外一张表中,并保存的。

    说实在,听后压力蛮大,不过领导也把他所知道的如何在excel中录制宏、执行宏、生成启动宏的工作薄一一的告诉了Ricki,听后感觉也真如领导说的那样,“so easy”,呵呵,天底下的领导都是这样的!

    话说了这么多,还是切入正题吧!

    因为没有使用过VBA,录制过程中,虽然代码是自动产生的,但也要做相应的修改。如当前需要“广州”炫铃的信息费数据,那么到另外一张表中,必须去查找“广州”这个地市在哪行,并定位到该地市的信息费在哪行哪列。

    由于有多个地市,所以必须遍历比较,使用了for和if。如:
    For Row = 9 To 29 Step 1
    If Range("B" + Row).Value = "广州" Then
    Range("AH" + Row).Select
    Exit For
    End If
    Next Row

    执行的时候,在Range("B" + Row).Value报类型不匹配。后在网上查找,发现不能用+号(虽然帮助文档说+号是连接运算符),数字和字符串连接的话只能使用&,改后如下:
    For Row = 9 To 29 Step 1
    If Range("B" & Row).Value = "广州" Then
    Range("AH" & Row).Select
    Exit For
    End If
    Next Row

    使用+号,会包“B”转为数字,然后相加。这跟Javascript不一样,如:
    <script>
    var i = 1;
    var j = "AH";
    document.write(j+i);
    document.write("<br/>");
    document.write(i+j);
    </script>
    结果:AH1
    1AH

    今天看到一篇很搞笑的文章,在此也跟大家分享一下《[url=http://hongfanshu.blogbus.com/logs/78875298.html]令人喷饭的程序注释[/url]》
    展开全文
  • Sub c() Dim m$,i%,n$ a=Intputbox(“请输入”,“提示”,0) For i=1 to 50 n=Application.Mid(Cells("i",1),1,7) n=n&m i=i+1 sheet1.Cells("i",1)=n i=i-1 Next End sub
  • VBA中子函数调用时出现如下错误:"ByRef Argument Type Mismatch",(参数类型不匹配)代码如下: Function MainFunc() Dim a, b, c As Integer a = 111 b = 222 Call AddFunc(a, b, c) MsgBox c End ...

       VBA中子函数调用时出现如下错误:"ByRef Argument Type Mismatch",(参数类型不匹配)代码如下:

    Function MainFunc()
        Dim a, b, c As Integer
        
        a = 111
        b = 222
        
        Call AddFunc(a, b, c)
        MsgBox c
        
    End Function
    
    
    
    Sub AddFunc(a As Integer, b As Integer, Sum As Integer)
        Sum = a + b
    End Sub
    


    原来是变量定义在捣鬼,在C,或者C++中,多个同类型的变量定义可以像下面这样:

    int a, b, c ;

    而如果在VB中,如下定义的话:

    Dim a, b, c As Integer

    却只表示变量c 是Interger类型,而变量a,b都是变体型,也就是任意类型,所以当函数传值调用的时候,会报上述错误!

    修改后的代码如下:

    Function MainFunc()
        Dim a As Integer
        Dim b As Integer
        Dim c As Integer
        
        a = 111
        b = 222
        
        Call AddFunc(a, b, c)
        MsgBox c
        
    End Function
    
    
    
    Sub AddFunc(a As Integer, b As Integer, Sum As Integer)
        Sum = a + b
    End Sub
    重新运行,以上错误消失。

    展开全文
  • 今天写了段提取字符串长度的代码,如下: Dim strF,freq Dim len freq = 200 ...程序总是在len = Len(strF) 这句话这里提示len 类型不匹配;本来以为len 是个变量,Len 是函数;经过各种折腾...

    今天写了段提取字符串长度的代码,如下:

        Dim strF,freq
        Dim len
       
        freq = 200 
    
        strF  = Cstr(freq)
    
        len = Len(strF) 'error

    程序总是在len = Len(strF) 这句话这里提示len 类型不匹配;本来以为len 是个变量,Len 是函数;经过各种折腾才想到 应该是VBS 是不区分大小写的;

    VBS 将len 也当做了函数。所以才会报错。 把变量名len 改为num 就没问题了。

            虽然问题不大还是记录下,提醒下自己吧!

    转载于:https://www.cnblogs.com/small-lazybee/p/10956082.html

    展开全文
  • vb定义如下: 类模块Class1代码如下: Dim aa() As String Public Sub setName(ByRef str() As String) ...运行时怎么总是提示类型不匹配,缺少数组或用户定义类型”啊?实在知道错在哪里了??
  • id=@id” //sql语句尽量不要这样写,由于在Access要求参数必须一一对应 改为: sql=“update news set title=@title where id=” sql+=id;  或者 sql=“update news set title=@tit
  • 标准表达式数据类型不匹配

    千次阅读 2014-11-27 16:07:29
    标准表达式数据类型不匹配。 /diaocha/chakan.asp,行 32 出现这个错误的原因一般就是SQL语句写错了 我的Access数据库里id 定义为数值类型 但是SQL里 写成了 select * from item where id='1' 这就是...
  • 编程发现一个问题,系统总是提示编译错误,ByRef 参数类型不符, 可实际上参数定义没问题,原因在哪儿呢? 2、问题环境 假定函数定义如下: Function get_kind(addr As String) As Integer ...... End Function ...
  • 1、在Access,是无法使用...id=@id ID字段类型为自动增加,这句语句放在sql里是不会有问题的,但在access却有一个明显的错误:标准表达式数据类型不匹配(另外一种结果就是不会更新该条记录) 而造成的这个问题
  • 1、代码目的:把相同ID的数据,合并到...transpose函数有65536的限制,当同一ID行数超过限制时,跳“类型不匹配”的错误,求大佬指点? ![图片说明](https://img-ask.csdn.net/upload/201809/19/1537336643_641881.png)
  • Excel VBA(07)数据类型和转换

    千次阅读 2020-04-29 12:27:28
    一、vba 数据类型 1、基本数据类型 整数类型:byte、integer、long、long long 小数类型:single、double 布尔类型:boolean 字符型:string 万能类型:variant 其他类型:date、object 2、...
  • 数据类型判断、转化,对话框(弹框输入、提示,返回文件路径、文件夹),空的一些情况,正则表达式语法,其他常用语句。
  • 本人是一名VBA爱好者兼VBA小白,因工作需要,最近想要做1个EXCEL模板,通过VBA代码自动调用浏览器下载数据,导入EXCEL进行处理。但在编写VBA代码过程发现,同样的代码在WPS可以运行,但在EXCEL运行时报错,...
  • Excel VBA 使用字典总结 collection(集合)对象 VBA中有一个集合对象(collection),Collection 对象是一组可称为“单元”的有序项目的集合,可以理解为可以随意增减数量的一维数组。 Collection对象提供了一种...
  • "" thenMsgBox "文件存在" '当C盘根目录存在test.xls文件时提示“文件存在”elseMsgBox "文件存在"End If--------------------------------------------------------------------------------Dir函数返回一个 Stri...
  • 如果保存生成的excel文件提示如下错误, 可以通过设置保存excel格式来解决。 【例】 public static string xlsFilePath = @"D:\";//excel文件存放路径    /// &lt;summary&gt;  /// ...
  • 标准表达式数据类型不匹配(Access)

    万次阅读 2005-11-20 12:40:00
    花了N个小时才发现问题的所在(还没想出解决方法)在Access,是无法使用存储过程的,但可以使用文本命令,如update news set title=@title,types=@types,context=@context where id=@id ID字段类型为自动增加,...
  • 关闭Excel提示文件格式和扩展名不匹配的警告框 打开某些excel表时,Excel会提示: "a.xls"的文件格式和扩展名不匹配。文件可能已损坏或安全。除非您信任其来源,否则请勿打开。是否仍要打开...
  • VBA字典(详解,示例)

    万次阅读 多人点赞 2019-05-03 17:14:36
    字典主要作用:条件计数、条件求和、去重、匹配。 本篇主要介绍了VBA字典以上使用方法及注意事项。
  • 数据表 DEPTNAME VARCHAR2(20 BYTE),  POSID VARCHAR2(9 BYTE) ...调试的时候 lvpos.ListItems.Add(, , rec.Fields("DEPTNAME")) 添加监视,发现类型是 IListItem ,这就奇怪了,难道类型不匹配是出在这里?
  • 1、错误描述 2、错误原因 ... 在Windows7 64位系统下,安装了MySQL64位,但是安装的驱动是32位,导致类型不匹配出错 3、解决办法  在官网上下载最新的64位驱动安装程序,重新安装
  • VBA GetOpenFilename 方法

    2021-08-02 10:54:42
    VBA中 GetOpenFilename 方法
  • ExcelVBA之InputBox函数

    2020-06-05 11:25:31
    InputBox函数显示一个信息提示用户输入数据,这个对话框有两个按钮——“确定”和“取消”,当你点击确定时,InputBox函数返回用户输入在信息框里的信息;当你点击取消时,函数则返回空字符串(” ”)。InputBox...
  • vba传递参数类型错误

    2015-01-21 15:37:00
    类型不匹配: 兼容的类型的数组 回到顶端 解决方案 要确保两个数组的数据类型是兼容的具有相同的数据类型这两个数组的尺寸。 回到顶端 ...
  • 大家好,今日内容仍是和大家分享VBA编程常用的简单“积木”过程代码,第NO.111-NO.113则,内容是:利用FindNext完成多重查找、利用ClearContents完成清除值的操作、利用FIND完成模糊查找等内容。VBA过程代码111:...
  • 12、使用InputBox函数进行输入 语法如下: ...prompt为提示内容,必选; title对话框标题; default为对话框缺省的文字内容; xpos和ypos表示对话框距离屏幕左上角的距离,缺省则居中. 使用示例...
  • Vba菜鸟教程

    万次阅读 多人点赞 2020-05-02 18:21:15
    文章目录Vba菜鸟教程编辑器宏vba基本语法运算符变量语句简写语句sub语句调用语句退出语句分支语句循环语句判断语句公式与函数在单元格输入公式利用单元格公式返回值调用工作表函数利用vba函数自定义函数操作对象操作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 944
精华内容 377
关键字:

vba中提示类型不匹配

友情链接: project.rar