让EXCEL朗读单元格!在A列中输入值回车后电脑读出B列的值,比如说在A2中输入值回车后电脑要读出B2单元格来! 50
3个回答
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count=1 and Target.Column = 1 And Target.Row <= Range("a65536").End(xlUp).Row Then
ActiveCell.Offset(rowOffset:=-1, columnOffset:=1).Speak
End If
End Sub
测试了一下,不够完善。提三点瑕疵,你自己再仔细考虑一下:
1、目前是回车后朗读新选中单元格的上一行的第二列,给你的感觉就是在上一行输入完成后朗读该行的第二列。但,一旦用鼠标选中整张表的第一行,程序会报错。
2、如果将上面语句的rowoffset:=-1改为rowoffset:=0,即使是选中第一行也不会报错,但,一旦选中某单元格,程序马上就会朗读该行第二列,给你的感觉就是要朗读完以后你才能输入。
3、没有更改回车后活动单元格的移动位置。后面这句语句你放在thisworkbook中worksheet的open事件中,无论原来程序是怎么设置的,它都改为向下。Application.MoveAfterReturnDirection = xlDown
If Target.Count=1 and Target.Column = 1 And Target.Row <= Range("a65536").End(xlUp).Row Then
ActiveCell.Offset(rowOffset:=-1, columnOffset:=1).Speak
End If
End Sub
测试了一下,不够完善。提三点瑕疵,你自己再仔细考虑一下:
1、目前是回车后朗读新选中单元格的上一行的第二列,给你的感觉就是在上一行输入完成后朗读该行的第二列。但,一旦用鼠标选中整张表的第一行,程序会报错。
2、如果将上面语句的rowoffset:=-1改为rowoffset:=0,即使是选中第一行也不会报错,但,一旦选中某单元格,程序马上就会朗读该行第二列,给你的感觉就是要朗读完以后你才能输入。
3、没有更改回车后活动单元格的移动位置。后面这句语句你放在thisworkbook中worksheet的open事件中,无论原来程序是怎么设置的,它都改为向下。Application.MoveAfterReturnDirection = xlDown
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询