excel表格中,如何设置根据前一个单元格(A1)里的数据内容来决定下一个单元格(B1)中的内容

例如:A1中设置了下拉1,2,3,4;选中1时,B1格中数据就成为已设置好的a,b,c,d;在A1下拉中选中2时,B1格中数据就变成已设置好的F1,F2,F3,F4;
excel有这个功能吗,如没有请说明,如有需要什么版本,怎么实现说具体点,谢谢

(下面不用宏,直接用Excel的二级下拉菜单实现)
到sheet1表中:
在sheet1中,将A列全选(点击A列上的名称A),将名称框(在标题A的上面)中的A1改成A
,将B列全选,将名称框中的B1(在标题A的上面),改成 B,
如果有第三组可将C列名称框改为C ······,以此类推
在A列: 在A1输入a、A2输入b 、A3输入c 、 A4输入d
在B列: 在B1输入F1、B2输入F2 、B3输入F3 、 B4输入F4
到sheet2表中:
把sheet2中 的A1单元格 通过数据有效性,选序列:1,2,3,4
在sheet2中 的B1单元格 通过数据有效性:选序列、填入 =INDIRECT(CHAR(A1+96))
OK了

A1里的1,2,3,4如果换成“你呀,我呀,他呀,好呀,”在哪里改?
直接把上面A列的名称框中的A1改为:你呀
B列的名称框中的A1改为:我呀
C列的名称框中的A1改为:他呀
D列的名称框中的A1改为:好呀
注意,不用1234(数字)就简单些了,在sheet2中 的B1单元格 通过数据有效性:选序列、填入 =INDIRECT(A1) 就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-12
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 Then
Select Case Target.Value
Case 1
Target.Offset(0, 1) = "a,b,c,d"
Case 2
Target.Offset(0, 1) = "F1,F2,F3,F4"
Case 3
Target.Offset(0, 1) = "第三项"
Case 4
Target.Offset(0, 1) = "第四项"
Case Else
Target.Offset(0, 1) = "未设置"
End Select
End If
End Sub

按ALT+F11 双击你想使用的工作表 插入上面代码就可以了
想显示什么自己改就可以了追问

A1里的1,2,3,4如果换成“你呀,我呀,他呀,好呀,”在哪里改?

追答

ALT+F11 后
左边 会有 sheet1 sheet2 sheet3 等的列表
比如你那个设置了序列的单元格A1 在sheet1中 你就双击sheet1
会弹出个文本框来,你把代码复制粘贴到里边就可以了

如果是07的EXCEL 保存的时候 会出现个 关于宏的对话框, 选择否,然后让你选个格式,选XLSM格式就可以了

追问

A1里的内容1,2,3,4改成别的内容 在代码里改哪?

追答

case 1 把1改成你想要的内容
比如 case ABC

本回答被提问者采纳
第2个回答  2012-02-12
请教,如何编写宏?
第3个回答  2012-02-12
这个自己最好编一段宏就可以了
相似回答