Excel中编程中数据类型导致代码运行时错误

问题说明
今天在群内遇到一位童鞋,其说一段代码总是报错,并且不明原因,代码类似如下:

 代码如下 复制代码

Sub ErrDemo()
On Error GoTo Emsg
  Dim i As Long
  Dim SName As String
  For i = 1 To 4
        Sheets(Sheets("Sheet1").Cells(i, 1).Value).Select
  Next
  Exit Sub
Emsg:
  MsgBox "Error!"
End Sub

其主要目的,就是通过扫描单元格内保存的Sheet名称来实现不同的Sheet激活显示等等。

问题原因
小编看了一下他的代码,再看了一下保存在单元格中的Sheet名称,可以得到一个结论,数据类型不明确导致错误,因为这位童鞋有些Sheet的名称直接就是数字类的,熟悉Vba的童鞋都应该知道Sheets("Sheet名称")或者Sheets(SheetID)都可以实现Sheet的定位,那么你传递一个数字过去Sheets将识别为一个数字的ID。

解决办法
将代码

 代码如下 复制代码
1 Sheets(Sheets("Sheet1").Cells(i, 1).Value).Select

修改为

 代码如下 复制代码
1 Sheets(Sheets("Sheet1").Cells(i, 1).text).Select

注意后面的代码,我们将强制使用文本类型作为传递的参数类型,问题得以解决

时间: 2024-09-03 14:27:02

Excel中编程中数据类型导致代码运行时错误的相关文章

qt excel mysql-qt编程中excel文件如何导入mysql中

问题描述 qt编程中excel文件如何导入mysql中 求助 如何实现qt编程的excel文件导入mysql 具体点 万分感谢

Objective-C中编程中一些推荐的书写规范小结_IOS

一.类 1. 类名类名应该以三个大写字母作为前缀(双字母前缀为Apple的类预留) 不仅仅是类,公开的常量.Protocol等的前缀都为相同的三个大写字母. 当你创建一个子类的时候,你应该把说明性的部分放在前缀和父类名的中间. 例如: 如果你有一个 ZOCNetworkClient 类,子类的名字会是ZOCTwitterNetworkClient (注意 "Twitter" 在 "ZOC" 和 "NetworkClient" 之间); 按照这个约

C#编程实现Excel文档中搜索文本

excel|编程 有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事. 打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks.Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单

C#编程实现Excel文档中搜索文本内容的方法及思路

有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事.   打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks. Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开 Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单个工作表.

Android编程中TextView宽度过大导致Drawable无法居中问题解决方法_Android

本文实例讲述了Android编程中TextView宽度过大导致Drawable无法居中问题解决方法.分享给大家供大家参考,具体如下: 在做项目的时候,很多时候我们都要用到文字和图片一起显示,一般设置TextView的DrawableLeft.DrawableRight.DrawableTop.DrawableBottom就行了.但是有一种情况是当TextView的熟悉是fill_parent或者使用权重的时候并且设置了起Gravity的ceter的时候,Drawable图片是无法一起居中的,为了

java代码-关于CSDN英雄会挑战赛 java编程中的一些问题

问题描述 关于CSDN英雄会挑战赛 java编程中的一些问题 各位大神,我在挑战英雄会的题目的时候,在线下运行的没有问题,可是一提交就会提示,"挑战失败:你的程序正常编译,不过运行时发生错误,通常是代码有问题,如除数为零数组上下界溢出等" 我觉得可能是java输入数据时的问题,因为题目要求:输入多行数据,输出多行我是这样写的: Scanner scanner = new Scanner(System.in); ArrayList list = new ArrayList(); do {

诊断Java代码: Java编程中的断言和时态逻辑

虽然传统断言可以增加对 Java 代码执行的检查次数,但有许多检查不能用它们来执行.弥补这一缺陷的方法是使用"时态逻辑",它是一种用于描述程序状态如何随时间而更改的形式体系.在本文中,Eric Allen 将讨论断言,介绍时态逻辑并描述用于处理程序中时态逻辑断言的工具 (下一篇文章将检查以前的错误模式和时态逻辑的应用程序). 我们大家同意对 Java 代码检查得越多就越好,我们检查了断言在测试新的和改进的编程中的用法.虽然传统断言可以增加执行的检查次数,但有许多检查不能用它们来执行.

vc++-VC编程中提取源程序代码应用另一个程序

问题描述 VC编程中提取源程序代码应用另一个程序 请问各位大神,现在我有一段VC二维码识别程序的源代码,如何将其提取并编译成一个新的程序,满足从指定位置访问图片文件,输出识别信息?求指导. 在VC编程环境下实现,谢谢! 解决方案 既然有源代码,那么你要做的就是程序得到输入文件路径,然后传给源码中的函数对应参数,获取函数返回结果,进行处理. 解决方案二: 参考:http://blog.csdn.net/liuyu60305002/article/details/8713399 解决方案三: 有一段

vb excel xml-vb编程,excel单元格中内容怎么筛选遍历到xml文件中?

问题描述 vb编程,excel单元格中内容怎么筛选遍历到xml文件中? 如excel单元格内容: 衣服 1.女装 a.裤子 b.毛衣 c.鞋子 2.男装 a.裤子 b.毛衣 电器 1.冰箱 a.x型号 b.y型号 2.电视机 a.长虹 b.HTC c.惠普 3.空调 a.格力 需要把大标题与1.2.3标题遍历显示到xml文件中,把abc的内容不显示,请问各位前辈,这个怎么实现,谢谢了!