Excel2010实现点击单元格弹出文本框(类似tooltip)_第1页
Excel2010实现点击单元格弹出文本框(类似tooltip)_第2页
Excel2010实现点击单元格弹出文本框(类似tooltip)_第3页
Excel2010实现点击单元格弹出文本框(类似tooltip)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Excel2010实现点击单元格弹出文本框1 实现效果2 实现思路鼠标点击单元格时,检测sheet2中单元格的值是否在基础数据表(sheet1)中的第一列,如果找到了,则将找到数据的行所有的单元格数据拼成一个文本,赋值给sheet2中的文本框。注意:sheet1和sheet2是按照内部的名字,而不是本身的名字,这里基础数据表的名字反而为sheet1。3 实现的vb代码注意:所有的代码要在worksheet下面Private Sub Worksheet_SelectionChange(ByVal Target As Range)定义返回的信息变量Dim str As String判断当前点击对象的文本是否为空,为空则跳过,不为空则获取信息If Target.Text Then显示文本框ActiveSheet.Shapes(1).Visible = True设置文本框的左侧和顶部位置,左侧位置的算法是,当前单元格的序号乘以单元格的宽度,再加上偏差值。Left和Top两个属性,需要根据自己的需要修改。ActiveSheet.Shapes(1).Left = Target.Column * Target.ColumnWidth + (Target.Column - 1) * 50 + 70ActiveSheet.Shapes(1).Top = (Target.Row - 11) * Target.RowHeight设置文本框宽度为600像素ActiveSheet.Shapes(1).Width = 600如果第二个文档条数变多了,需要修改Sheet1.Range(A1:A2000)和i的最大值For readRow = 1 To Sheet1.Range(A1:A2000).Count遍历sheet1中第一列的1至2000行,如果当前获取单元格的文本不为空则执行获取sheet1中的单元格的值If Sheet1.Cells(readRow, 1).Text Then判断sheet1中单元格的文本是否与当前点击的单元格文本相同 If Sheet1.Cells(readRow, 1).Text = Target.Text Then获取sheet1中匹配到的单元格当前行所有单元格的值拼成一个字符串以换行符分割 For i = 1 To 20 str = str & Sheet1.Cells(13, i) & : & Sheet1.Cells(readRow, i) & Chr(10) Next i End If End If Next readRow将生成的字符串赋值给本页面的文本框ActiveSheet.Shapes(1).TextFrame2.TextRange.Characters.Text = str如果当前点击单元格内容为空,则隐藏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论