Excel精英培训网

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

[已解决]VBA_拼音简码_实现检索输入(指定区域使用此功能)

[复制链接]
发表于 2011-8-10 09:59 | 显示全部楼层 |阅读模式
VBA_拼音简码_实现检索输入(指定区域使用此功能)

请各位高手帮忙修改下代码:拼音简码_实现检索输入(指定区域使用此功能)

具体要求在附件中,请老师们帮下忙。。。谢谢各位啦。。。。

最佳答案
2011-8-11 15:17
VBA_拼音简码_实现检索输入(指定区域使用此功能).rar (32.01 KB, 下载次数: 122)

VBA_拼音简码_实现检索输入(指定区域使用此功能).rar

38.84 KB, 下载次数: 69

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-8-10 10:21 | 显示全部楼层
回复 yjwdjfqb 的帖子

在Select_Change事件中有这样一段代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)   
    '触发的列为 4  ,触发的行为大于 4 ,改动两个4
    If Target.Column <> 4 Or Target.Row <= 4 Then Exit Sub
如果选择的单元格所在列不是第4列或者所在行小于等于4行,就退出该过程

那么将你需要操作的地址做为条件加入进去就行了!!
回复

使用道具 举报

 楼主| 发表于 2011-8-10 10:32 | 显示全部楼层
回复 无聊的疯子 的帖子

楼主,本人是菜鸟一个。。。麻烦把你修改好的附件上传一个好吧。。
谢谢啦!!!
回复

使用道具 举报

 楼主| 发表于 2011-8-10 14:02 | 显示全部楼层
回复 无聊的疯子 的帖子

期待老师解决。。。。
回复

使用道具 举报

发表于 2011-8-11 15:17 | 显示全部楼层    本楼为最佳答案   
VBA_拼音简码_实现检索输入(指定区域使用此功能).rar (32.01 KB, 下载次数: 122)
回复

使用道具 举报

 楼主| 发表于 2011-8-11 16:42 | 显示全部楼层
回复 wayy 的帖子

感谢老师的修改,同时也感谢你的指导,只是我现在还不是很懂VBA,我会记住老师的话的。感谢了!!!
回复

使用道具 举报

 楼主| 发表于 2011-8-11 19:11 | 显示全部楼层
回复 wayy 的帖子

VBA_拼音简码_实现检索输入【指定区域使用此功能】-问题


老师,我修改了下,指定区域使用 拼音检索输入功能,

修改了变量,怎么,其它地方还是可以使用此功能。。。。

请老师,看看。。。。

VBA_拼音简码_实现检索输入【指定区域使用此功能】-问题.rar

26.82 KB, 下载次数: 26

回复

使用道具 举报

发表于 2011-8-11 19:24 | 显示全部楼层
本帖最后由 无聊的疯子 于 2011-8-11 19:25 编辑

回复 yjwdjfqb 的帖子

    For Each rng In Range("M6")  '设置拼音检索输入功能的使用区域     这里只有一个地址了,下面随便你怎么加也不可能=28   
      If rng.Address <> Target.Address Then     如果rng的地址不等于当前单元格的地址,I就加1
        I = I + 1
      End If
    Next
   
    If I = 28 Then Exit Sub  原来代码中是28个单元格,所以I=28意思是当前选择单元格地址不在上面的区域内

其实可以改一下


  1.     For Each rng In Range("M6")      '设置拼音检索输入功能的使用区域
  2.         If rng.Address = Target.Address Then
  3.         Dim c As Range, r&
  4.         Set c = Target
  5.         With Me.TextBox1
  6.             .Top = c.Top
  7.             .Left = c.Left
  8.             .Width = c.Width
  9.             .Height = c.Height ' + 5
  10.             Me.ListBox1.Top = .Top
  11.             Me.ListBox1.Left = .Left + .Width
  12.             .Text = c.Text
  13.             .SelStart = 0
  14.             .SelLength = Len(.Text)
  15.             .Activate
  16.             .Visible = True
  17.         End With
  18.         Exit For
  19.     end if
  20.   Next
复制代码


回复

使用道具 举报

 楼主| 发表于 2011-8-11 20:52 | 显示全部楼层
回复 无聊的疯子 的帖子

谢谢你修改的,这下可以了,我想请问下

Private Sub CommandButton1_Click()
    Application.EnableEvents = False
    Me.ListBox1.Enabled = True
    Me.TextBox1.Enabled = True
    Me.ListBox1.Visible = False
    Me.TextBox1.Visible = False
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    MsgBox "已完成恢复!"
    End
End Sub

这段,可不可以,加上程序里面,防止出错

上面这段代码好像是,程序出错后,进行恢复程序的。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 13:39 , Processed in 0.799608 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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