Excel精英培训网

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

[已解决]文本输入框问题

[复制链接]
发表于 2014-7-7 22:32 | 显示全部楼层 |阅读模式
本帖最后由 yjwdjfqb 于 2014-7-7 22:58 编辑

文本输入框问题

Sub test()
    Dim rng As Range
    Dim FU, FG
    On Error Resume Next    '发生错误时,紧接着继续运行下一语句
    FU = InputBox("请输入开始行与结束行,中间以“-”隔开", "请输入", "")
    If FU = "" Then MsgBox "没有输入行号范围": Exit Sub    '判断文本输入框是否有输入内容
    FU = "B" & Split(FU, "-")(0) & ":B" & Split(FU, "-")(1)    '指定的列与输入的数字组合起来成为一个区域表达式
    Set rng = Range(FU)
    On Error GoTo 0    '禁止当前过程中任何已启动的错误处理程序
    If rng Is Nothing Then MsgBox "输入有误,请重新输入": Exit Sub    '当rng中没有任何内容或者输入有误时,弹出提示后退出
    MsgBox rng.Address    '显示选择的区域
End Sub

现在这个,输入格式为   如  2-9 显示了 $B$2:$B$9
想这个的基础上也能实现 输入 2 就显示 $B$2、输入3就显示$B$3。。。。。

请老师们帮帮忙,谢谢大家老师们了!
文本输入框问题.rar (7.04 KB, 下载次数: 32)
发表于 2014-7-7 23:02 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim rng As Range
  3.     Dim FU, FG, a

  4.     On Error Resume Next    '发生错误时,紧接着继续运行下一语句
  5.     FU = InputBox("请输入开始行与结束行,中间以“-”隔开", "请输入", "")
  6.     If FU = "" Then MsgBox "没有输入行号范围": Exit Sub    '判断文本输入框是否有输入内容
  7.     For Each a In Split(FU, "-")
  8.         FG = FG & "B" & a & ":"
  9.     Next
  10.     FU = Left(FG, Len(FG) - 1)
  11.     Set rng = Range(FU)
  12.     On Error GoTo 0    '禁止当前过程中任何已启动的错误处理程序
  13.     If rng Is Nothing Then MsgBox "输入有误,请重新输入": Exit Sub    '当rng中没有任何内容或者输入有误时,弹出提示后退出

  14.     MsgBox rng.Address    '显示选择的区域

  15. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-7-7 23:20 | 显示全部楼层
hwc2ycy 发表于 2014-7-7 23:02

谢谢老师了,问题解决了!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 12:37 , Processed in 0.770484 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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