ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2825|回复: 1

求助 技巧167的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-11-17 17:15 | 显示全部楼层 |阅读模式
新手请教各位,使用技巧167的例子根据自己的需要改为现在的样子,但是还有几个问题没有解决,1.点击B5出现提示的文本框和列表框,但是要是不在B5输入内容而直接在点击B11(合并单元格后的单元格)等单元格,B5的提示文本框和列表框不会隐藏,单点击C5可隐藏;2.也想实现“客户”行提示输入,客户名字在“客户源”;3.这个表需要长期记录,而且只在B,E,H,K,N,Q,T,W,Z,AC………列需要输入“数据源”中的品种名,我把VBA中代码If Target.Column = 1更改为If Target.Address Like "$[BEHKNQTWZ]$*",但是不知道如何实现AC以后列也能在输入有品种提示呢?;4.也希望能实现B5中输入品种C5会自动从“数据源”读取该品种的包重,比如:B5输入551-40后C5自动输入40;5.部分中文字符转换为拼音首字母时会出错,例如“客户源”中的“马云”被转成”ly“了。写的比较乱,恳请各位老师帮帮忙,非常谢谢!
源文件见附件。
谢谢大家!

输入时逐步提示信息4.rar

19.58 KB, 下载次数: 38

TA的精华主题

TA的得分主题

发表于 2008-12-11 08:17 | 显示全部楼层
第1个问题,Worksheet_SelectionChange事件改成如下代码:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.     Dim i As Integer
  3.     Me.ListBox1.Clear
  4.     Me.TextBox1 = ""
  5.     Me.ListBox1.Visible = False
  6.     Me.TextBox1.Visible = False
  7.     If Target.Count = 1 Then
  8.         If Target.Row > 4 And Target.Row < 11 Then
  9.             If Target.Column = 2 Or (Target.Column - 2) Mod 3 = 0 Then
  10.                 With Me.TextBox1
  11.                     .Visible = True
  12.                     .Top = Target.Top
  13.                     .Left = Target.Left
  14.                     .Width = Target.Width
  15.                     .Height = Target.Height
  16.                 End With
  17.                 With Me.ListBox1
  18.                     .Visible = True
  19.                     .Top = Target.Top
  20.                     .Left = Target.Left + Target.Width
  21.                     .Width = Target.Width * 2
  22.                     .Height = Target.Height * 5
  23.                     For i = 2 To Sheet2.Range("A65536").End(xlUp).Row
  24.                         .AddItem Sheet2.Cells(i, 1).Value
  25.                     Next
  26.                 End With
  27.             End If
  28.         End If
  29.     End If
  30. End Sub
复制代码
第2个问题,可以参照产品名称在工作表中再添加一个文本框和一个列表框进行设置,也可以利用现有的,根据Target的Column 判断,如果是1就进行客户行提示,当然相应的代码要修改,建议重新添加两个。
第3个问题请看第1个问题中的第9行代码If Target.Column = 2 Or (Target.Column - 2) Mod 3 = 0 Then
第4个问题可以在录入后使用Find方法查找一下相应的数据。
第5个问题没有解决方案。

[ 本帖最后由 yuanzhuping 于 2008-12-11 08:21 编辑 ]

输入时逐步提示信息4.rar

17.54 KB, 下载次数: 39

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 23:33 , Processed in 0.030115 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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