`

执行VBA脚本代码提示“类型不匹配”

阅读更多
    昨天领导开会,谈论关于运营支撑系统的报表数据处理的需求问题,也就是把一张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
   
     今天看到一篇很搞笑的文章,在此也跟大家分享一下《令人喷饭的程序注释
0
0
分享到:
评论

相关推荐

    在word通过VBA打开excel数据文件

    VBA(Visual Basic for Applications)是微软开发的一种基于对象的脚本语言,广泛应用于Office套件中,如Word、Excel等。通过VBA,用户可以编写自定义函数和宏来实现自动化操作或扩展应用程序的功能。 在实际工作中...

    EXCEL VBA自动插叙入分页符

    - 添加错误处理逻辑,例如捕获并处理可能出现的异常情况,如数据类型不匹配等。 - 提供用户友好的错误提示信息,帮助快速定位问题。 - **进一步拓展**: - 可以根据其他列的值或者更复杂的条件来决定分页位置。 ...

    wincc用vbs脚本写入sqlserver数据库.docx

    如果`AT300`表中已经存在与`data1`匹配的记录,则执行更新操作。最后,确保关闭数据库连接以释放资源。 这个过程展示了如何在WinCC环境中利用VBS进行数据库交互,这对于实时监控和控制生产过程中的数据记录至关重要...

    Excel VBA数据验证与正则表达式汇总整理-VBA源码.rar

    VBA(Visual Basic for Applications)是Microsoft Office套件中的内置脚本语言,它允许用户自定义工作簿、工作表以及整个Excel应用程序的行为。在这份"Excel VBA数据验证与正则表达式汇总整理-VBA源码"的压缩包中,...

    microsoft script debug

    微软脚本调试器(Microsoft Script Debugger)是一款专为开发和调试VBScript以及JScript脚本而设计的工具。它在Windows环境中提供了强大...通过熟练掌握其使用方法,可以更好地理解和优化脚本代码,从而提升软件质量。

    Excel合并(带文件名)_ExcelVBA_多个excel_

    为了解决这个问题,我们可以利用Excel的VBA(Visual Basic for Applications)宏功能来编写自动化脚本,实现多个Excel文件的快速合并,并在结果文件中保留每个源文件的名称作为参考。这就是"Excel合并(带文件名)...

    VBSCRIPT中文手册

    VBSCRIPT中文手册,这里的信息可以帮你很方便地浏览 Visual Basic 脚本的许多不同部分。 你可以找到在按字母排序的关键字列表中列出的 VBScript 语言的所有部分。如果你只想调阅某一部分,例如“对象”,那么语言的每...

    vb Script参考文档

    InputBox 函数 在对话框中显示提示,等待用户输入文本或者单击按钮,并返回文本框的内容。 InStr 函数 返回一个字符串在另一个字符串中第一次出现的位置。 InStrRev 函数 返回一个字符串在另一个字符串中出现的...

    VBScript 语言参考

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

    VBScript 语言参考中文手册CHM

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

    VBSCRIP5 -ASP用法详解

    ExecuteGlobal 语句 执行一个或多个在全局脚本名字空间中所指定的语句。 Exit 语句 退出 Do...Loop、For...Next、 Function 或 Sub 代码块。 Exp 函数 返回 e (自然对数的底)的多少次方。 自乘运算符 (^) 指数...

    搜索字符串写入另一个sheet的问题

    - **用途:** VBA常被用来编写脚本自动执行重复性的任务,提高工作效率。 #### 2. VBA在Excel中的应用案例分析 ##### 案例背景: 在某个指定目录下存在多个`.xls`文件(例如“办公文具.xls”),每个文件内都包含...

    VBS调用Windows API函数的代码

    - `oExcel.Run "MyMacro", 0, 0`:执行VBA宏MyMacro。 - `oExcel.DisplayAlerts = False`:关闭Excel的警告信息显示。 - `oBook.Close` 和 `oExcel.Quit`:关闭工作簿并退出Excel应用程序。 ### 6. 注意事项 - 确保...

    word 制作自动评卷

    - 如果需要处理大量试卷,可以编写更复杂的VBA脚本来批量读取多个文档的分数,以便于数据汇总和分析。 通过以上步骤,我们可以利用Word的高级功能制作出一个基本的自动评卷系统。然而,更复杂的需求可能需要借助...

    多个excel合并到一个excel内说明

    ### 多个Excel合并到一个Excel内的方法及VBA代码详解 #### 一、概述 在日常工作和学习中,我们经常需要将多个Excel文件合并到一个Excel文件中,以方便进行数据分析、汇总等工作。手动复制粘贴的方式不仅耗时耗力,...

    如何将sqlserver2005转换成access数据库

    Access不支持存储过程,但可以使用宏或VBA代码来模拟其功能。视图在Access中可以直接创建,但请注意Access的查询性能可能不如SQL Server。 7. **验证数据完整性**: 完成导入后,确保在Access中验证所有数据都已...

    QTP实现自动读取excel

    这里的`zhengzepipei`函数应该是用来比较预期结果与实际结果是否匹配的逻辑,但由于代码片段不完整,无法看到具体实现。通常情况下,可以使用VBA中的正则表达式库来编写这样的验证逻辑,以确保测试结果的准确性。 #...

    E立方版本更新变更说明书

    - **问题修复**:修复了在模板编辑时执行VBA代码可能导致的崩溃问题。 - **应用场景**:在使用VBA代码进行模板编辑时。 - **价值点**:提高软件的稳定性和可靠性。 ##### 38. 解决了打印[DEPPRT]的问题 - **问题...

    从access表中读取用户名和密码的登陆界面

    VBA是一种内置在Access中的脚本语言,用于自动化任务和创建自定义功能。 9. **用户友好的界面**:良好的登录界面应具备清晰的指示,合理的布局,以及适当的错误提示,以提高用户体验。 10. **调试和测试**:开发...

    outlook 2003 提取邮件内容中的地址

    Outlook 2003支持Visual Basic for Applications (VBA),这是一种内置的编程环境,可以编写宏来执行自动化任务。 以下是一个简单的VBA宏示例,用于遍历收件箱并提取邮件中的所有邮箱地址: ```vba Sub ...

Global site tag (gtag.js) - Google Analytics