问题说明
今天在群内遇到一位童鞋,其说一段代码总是报错,并且不明原因,代码类似如下:
| 代码如下 | 复制代码 |
|
Sub ErrDemo() |
|
其主要目的,就是通过扫描单元格内保存的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 |
|
注意后面的代码,我们将强制使用文本类型作为传递的参数类型,问题得以解决
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏