EXCEL中可不可以只在某一区域设定自动更改

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:06:29
我在电子表格中设定了自动更改,比如,我设定了输入1,自动更改为合格,2为不合格.

这样高定后,我在另一个表格中,只要一输入1就会显示合格啦,我不想在另一个表格也自动更改,自动更改可不可以只设定在某一区域,其他区域不受影响啊?
一楼和三楼的回答,是利用函数公式里的假设条件.但是我要达到的效果用IF好像不是很适合,因为用合格和不合格,只是我的一个举例说明.

其实我是自己做了一个生产工序帐,每天都要不定时,不确定的输入大量的工序称.且不说,隐不隐藏这一列代码,就从公式上讲,要输入很长一个公式,显然是不行的.

二楼的方法,应该还不错,我想适用一下,可是我在类型里头找不到两个中括号以上的格式,自己输中括号,又输不来.不过它的格式应该也是固定的,所以我好像不会用,能不能再说详细些?

再补充一点,我的代码不止是1、2,也许是1-30,所以也就远不止是“合格”跟不合格啦!

可能有些好心人想帮我,可是好像还没怎么听明白我说的,我要的效果是和自动更正的效果是一样的,不是在A列里输入代码,B列里跳出对应的名称,而是在同一列里输入的是代码,显示的却是名称.

其实自动更正的效果已经很好啦,只是很讨厌的是,我不能在别的区域里输入相同的代码,否则会显示出相应的名称.

自己编了一个宏,在工作表标签上(如"Sheet1"、"Sheet2"、"Sheet3")右键--查看代码,在出现的空白代码区粘贴以下代码即可。说明:第一列输入代码如1,2,……,第二列输入合格,不合格,……,第三列只要输入编码如1,确定后就会立即变为合格了。

Private Sub Worksheet_Change(ByVal Target As Range)
hang = Sheets("Sheet1").Range("A1").End(xlDown).Row

If Target.Column = 3 And (Not (Target = "")) Then ' 3是原始数据的列数,根据需要自己改

For i = 1 To hang
If Target = Sheets("Sheet1").Cells(i, 1) Then
Target = Sheets("Sheet1").Cells(i, 2)
Exit For
End If
Next
End If
End Sub

你的想法蛮有创意的.但那个功能是更正(正确),被你借用了,哈哈!
正常在excel里有这样用的,假如A列中你要输入1和2,可在B列里输入公式来判定:=if(A1=1,"合格",if(A1=2,"不合格","")),然后下拉就ok了

可以的,选中你需要的区域,设置单元格格式→数字→自定义→类型下面的框中,先清除里面的内容,再输入“[=1]\合格;[=2]\不合格”,点确定即可,只输“”内的内容,这样就对其他地方无影响,若其他地方还有这种需要,就直接在自定义里面选这个格式.

可以