如何用VBA在EXCEL中实现自动输入*号变×号
来源:百度知道 编辑:UC知道 时间:2024/05/01 16:35:56
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Cells(Target.Row, Target.Column) = Replace(Target.Text, "*", "×")
End Sub
你在Sheet1中只要输入*就会自动替换成× 然后在定义里用鼠标, 点选B1
按 插入→名称→定义
现有名称 输入 yaharo
参照到 输入 =EVALUATE(SUBSTITUTE(A1,"x","*"))
确定
然后在 B1 输入 =yaharo
将B1 下拉
你们两个都有功劳我不知道该把分数给谁啊?我很难决定啊~~谁能告诉我这个问题的答案啊!
问题不易明白, 唯有假设:
在A列任何一格, 假设是A1, 输入 3×5×4
A1的内容自动变成 =3*5*4
并显示结果是 60
代码:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ABC
If Target.Cells.Count > 1 Or Target.Column <> 1 Then Exit Sub
If InStr(Target, "×") = 0 Then Exit Sub
Target.Value = "=" & Replace(Target.Value, "×", "*")
ABC:
End Sub
方法:
右击(该工作表)工作表标签
选 检视程序代码(V)
对话框左上方的下拉 选 Worksheet
右上方的下拉 选 Change
将代码放在:
Private Sub Worksheet_Change(ByVal Target As Range)
[代码放在这里]
End Sub
其实需执行的代码只有一行
Target.Value = "=" & Replace(Target.Value, "×", "*")
其余代码都是用来防错
在A1输入资料 2*3, 然后用VBA将A1的资料(在原格)改变成 2×3
是会做成循环错误, 要有相当高的VBA技巧及经验, 才可以有机会克服, 有很多情况可能会无法解决。
观乎楼主的提问及补充, 应无能力在现阶段应用。
除非你有相当高经验及造诣, 否则不要问在A1输入xx, A1格的内容要自动变成yy 此类问题(自动-取代 除外)。
你只可问 A1输入 xx, B1的内容变成yy
回到你的问题, 请将问题改成 在A1 直接输入 2×