Excel精英培训网

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

[已解决]请老师们帮帮我把注释部分用代码写出来下,谢谢大家了!

[复制链接]
发表于 2013-12-16 20:26 | 显示全部楼层 |阅读模式
请老师们帮帮我把注释部分用代码写出来下,谢谢大家了!

求助-改成可以用选择框选择.rar (10.23 KB, 下载次数: 12)
发表于 2013-12-16 20:46 | 显示全部楼层
论坛内搜索“ VBA程序解释器”,爱疯老师的。
回复

使用道具 举报

发表于 2013-12-16 20:47 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-16 22:47 | 显示全部楼层
Sub 选择()
    Dim Regional As Range


    Set Regional = Application.InputBox(prompt:="请在工作表中选择你要复制的单元格区域", Title:="提示", Default:="请选择", Type:=8)
    If Regional Is Nothing Then Exit Sub
    Regional.ClearContents


    Set Regional = Application.InputBox(prompt:="请在工作表中选择你要复制的单元格区域", Title:="提示", Default:="请选择", Type:=8)
    If Regional Is Nothing Then Exit Sub
    Regional.FormulaR1C1 = "测试的数据"
End Sub

把你所选的区域所在行,我给删了,估计不会要整行都写些某个值吧?
猜的,要这样?
建议说明下希望实现的效果。


PS:“VBA程序解释器”不是我写的,是转自:http://club.excelhome.net/thread-547868-1-1.html
回复

使用道具 举报

 楼主| 发表于 2013-12-17 08:44 | 显示全部楼层
爱疯 发表于 2013-12-16 22:47
Sub 选择()
    Dim Regional As Range

老师你好,就是要这样的效果,

但出现,选择框时,我如果点了,取消,就会弹出,“运行时错误424”,这个是什么问题呀,怎么解决呀,请老师帮帮忙!
回复

使用道具 举报

发表于 2013-12-17 09:05 | 显示全部楼层
yjwdjfqb 发表于 2013-12-17 08:44
老师你好,就是要这样的效果,

但出现,选择框时,我如果点了,取消,就会弹出,“运行时错误424”,这 ...

Sub 选择()
    Dim Regional As Range
    '1)对所选单元格,清除内容
    On Error Resume Next
    Set Regional = Application.InputBox(prompt:="请在工作表中选择你要复制的单元格区域", _
                                        Title:="提示", _
                                        Default:="请选择", _
                                        Type:=8)
    If Regional Is Nothing Then Exit Sub
    On Error GoTo 0
    Regional.ClearContents

    '2)对所选单元格,输入公式
    On Error Resume Next
    Set Regional = Application.InputBox(prompt:="请在工作表中选择你要复制的单元格区域", _
                                        Title:="提示", _
                                        Default:="请选择", _
                                        Type:=8)
    If Regional Is Nothing Then Exit Sub
    On Error GoTo 0
    Regional.FormulaR1C1 = "测试的数据"
End Sub



因为与声明的类型不一致造成的。
没想到更好方式,还是on error语句吧
回复

使用道具 举报

 楼主| 发表于 2013-12-17 09:45 | 显示全部楼层
爱疯 发表于 2013-12-17 09:05
Sub 选择()
    Dim Regional As Range
    '1)对所选单元格,清除内容
  1. Sub 选择()

  2. Dim Regional As Range


  3. Set Regional = Application.InputBox(prompt:="请选择区域", Title:="提示", Default:="请选择", Type:=8).EntireRow
  4. If Regional Is Nothing Then Exit Sub

  5. Regional.ClearContents


  6. End Sub
复制代码
爱疯老师,像我上面的代码,只用了一个,选择框,点取消时,也会出现“运行错误424”,我知道,加容错语句,可以解决,
请问下老师,还有没有其它更好的办法呀,谢谢了老师。
回复

使用道具 举报

发表于 2013-12-17 09:48 | 显示全部楼层
如果只等效7楼的代码

Sub Click()
Selection.EntireRow.ClearContents
End Sub
回复

使用道具 举报

 楼主| 发表于 2013-12-17 10:14 | 显示全部楼层
爱疯 发表于 2013-12-17 09:48
如果只等效7楼的代码

Sub Click()

老师,我没有看懂这个,传个附件好吧
回复

使用道具 举报

发表于 2013-12-17 10:40 | 显示全部楼层    本楼为最佳答案   
1楼代码的用途,应该只是你问题里的中间环节吧!我觉得还是用6楼代码吧

这种情况怎么避免容错处理我以前好像提问过,没找着那个提问帖,我记得好像没等到答案。

6楼的容错处理,是从 On Error Resume Next 开始,到 On Error GoTo 0 结束。所以不会对其它地方的代码造成影响。

如果不急,还是其它朋友来看看吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 03:44 , Processed in 0.423822 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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