我希望实现如下效果:
在A列,输入“是”,内容实际变成了1,输入否,变成2
在B列,输入“北京”,内容实际变成了1,输入上海,变成2
在C…………………………
谢谢
smallcolour 大哥,辛苦您了.谢谢.
批量粘贴虽然不会出错了,但是批量粘贴后内容没有按要求转换.
粘贴的是什么内容,结果还是什么内容.
在excel单元中输入“是”,内容变成1,如何实现?
答案:3 悬赏:30
解决时间 2021-03-01 04:34
- 提问者网友:相思瘸子
- 2021-02-28 17:43
最佳答案
- 二级知识专家网友:一身浪痞味
- 2021-02-28 18:32
再试试吧
Private Sub Worksheet_Change(ByVal Target As Range)
b = Target.Column
If Target.Rows.Count > 1 Then
For Each x In Selection
a = ActiveCell.Value
Select Case b
Case 1
If a = "是" Then
ActiveCell.Value = 1
Else
If a = "否" Then
ActiveCell.Value = 2
Else
If a = 1 Then
ActiveCell.Value = 1
Else
If a = 2 Then
ActiveCell.Value = 2
Else
MsgBox "你输入的不是是与否"
End If
End If
End If
End If
Case 2
If a = "北京" Then
Target.Value = 1
End If
If a = "上海" Then
Target.Value = 2
End If
Case 3
If a = "本科" Then
Target.Value = 1
End If
If a = "研究生" Then
Target.Value = 2
End If
End Select
ActiveCell.Offset(1, 0).Select
Next
Exit Sub
End If
a = Target.Value
Select Case b
Case 1
Select Case a
Case "是"
Target.Value = 1
Case "否"
Target.Value = 2
Case 1
Target.Value = 1
Case 2
Target.Value = 2
Case Else
MsgBox "你输入的不是是与否"
End Select
Case 2
If a = "北京" Then
Target.Value = 1
End If
If a = "上海" Then
Target.Value = 2
End If
Case 3
If a = "本科" Then
Target.Value = 1
End If
If a = "研究生" Then
Target.Value = 2
End If
End Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
b = Target.Column
If Target.Rows.Count > 1 Then
For Each x In Selection
a = ActiveCell.Value
Select Case b
Case 1
If a = "是" Then
ActiveCell.Value = 1
Else
If a = "否" Then
ActiveCell.Value = 2
Else
If a = 1 Then
ActiveCell.Value = 1
Else
If a = 2 Then
ActiveCell.Value = 2
Else
MsgBox "你输入的不是是与否"
End If
End If
End If
End If
Case 2
If a = "北京" Then
Target.Value = 1
End If
If a = "上海" Then
Target.Value = 2
End If
Case 3
If a = "本科" Then
Target.Value = 1
End If
If a = "研究生" Then
Target.Value = 2
End If
End Select
ActiveCell.Offset(1, 0).Select
Next
Exit Sub
End If
a = Target.Value
Select Case b
Case 1
Select Case a
Case "是"
Target.Value = 1
Case "否"
Target.Value = 2
Case 1
Target.Value = 1
Case 2
Target.Value = 2
Case Else
MsgBox "你输入的不是是与否"
End Select
Case 2
If a = "北京" Then
Target.Value = 1
End If
If a = "上海" Then
Target.Value = 2
End If
Case 3
If a = "本科" Then
Target.Value = 1
End If
If a = "研究生" Then
Target.Value = 2
End If
End Select
End Sub
全部回答
- 1楼网友:一只傻青衣
- 2021-02-28 19:48
选中这一列单元格
假设说这是a列,此时激活单元格应该是a1
格式,条件格式,公式,
=a1=""
定义图案颜色白色。
再添加一个条件
=a1<>""
定义图案颜色为你需要的颜色,确定即可
- 2楼网友:我叫很个性
- 2021-02-28 18:46
不用VBA 也能实现
你可以使用自动更正
工具-自动更正选项
在左边的编辑栏输入 是
在右边的编辑栏输入 1
按“添加”按钮
然后
在左边的编辑栏输入 否
在右边的编辑栏输入 2
按“添加”按钮
然后
在左边的编辑栏输入 北京
在右边的编辑栏输入 1
按“添加”按钮
然后
在左边的编辑栏输入 上海
在右边的编辑栏输入 2
按“添加”按钮
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯