Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2251|回复: 9

[已解决]请老师帮忙,解决这1个问题,关于录入区的“类型”错误问题

[复制链接]
发表于 2011-6-24 09:01 | 显示全部楼层 |阅读模式
我的工作表,在录入区,如果录入字母,就提示“类型错误”。
对于这个工作表,我原打算用VBA来提示某些区域只能输入数字,某些区域只能录入文本,这样的话划分的区域太多。
所以,我请老师帮我解决这个问题,在VBA参加计算的区域录入字母的时候,程序不出错,不提示。或者适当给个提示也可以。
原型不便简化,我就上传原型文档,请老师看看。 工资计算.rar (434.39 KB, 下载次数: 13)
发表于 2011-6-24 09:11 | 显示全部楼层
这个只要在录入区设置数据有效性就可以了 工资计算.rar (83.49 KB, 下载次数: 3)
回复

使用道具 举报

 楼主| 发表于 2011-6-24 09:28 | 显示全部楼层
要求在VBA内解决。
数据有效性我当然是知道的,但不方便。
不过还是谢谢你。
回复

使用道具 举报

 楼主| 发表于 2011-6-24 09:46 | 显示全部楼层
继续求救!!请老师帮忙。
回复

使用道具 举报

 楼主| 发表于 2011-6-24 10:43 | 显示全部楼层
继续等待,求帮忙。
能否在出现“类型不匹配”错误的时候,给出msgbox提示!?
回复

使用道具 举报

发表于 2011-6-24 11:09 | 显示全部楼层
有点复杂哈
在你的Private Sub Worksheet_Change(ByVal Target As Range)中增加点:

If Target.Count = 1 Then
   If Target.Column = 4 Then
     If VarType(Target) = 8 Then
        MsgBox "不是数字,错"
         Application.EnableEvents = False
        Target.ClearContents
         Application.EnableEvents = 1
        Exit Sub
      End If
   End If
End If
回复

使用道具 举报

发表于 2011-6-24 11:53 | 显示全部楼层
回复 linsw 的帖子

不知道是不是这样的??

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. With Target
  3.     If .Count = 1 And .Column = 4 And .Row > 8 And .Row < 20 Then
  4.         If IsNumeric(Target) = False Then
  5.             MsgBox "输入类型不为数字,请重新输入"
  6.             .Select
  7.             .ClearContents
  8.         Exit Sub
  9.         End If
  10.     End If
  11. End With
  12. End Sub
复制代码



回复

使用道具 举报

发表于 2011-6-24 12:24 | 显示全部楼层    本楼为最佳答案   
请见附件。

工资计算jy0624.rar

59.64 KB, 下载次数: 5

回复

使用道具 举报

 楼主| 发表于 2011-6-24 12:59 | 显示全部楼层
蓝桥老师,你真厉害,感谢你。也非常佩服你。
回复

使用道具 举报

 楼主| 发表于 2011-6-24 13:03 | 显示全部楼层
蓝桥老师,真的想请你看看我的那个VBA里的问题和缺点,请你能指点一二。
那个VBA,是我从0开始学起,弄起来的,正好有个需求,我就学习了下VBA。
我知道这些东拼西凑的代码中有很多需要优化的地方。但我看不出来。
虽然这段代码能达到我的要求。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-3 02:27 , Processed in 0.634646 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表