首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请高手帮小弟我用VBA写个跨sheet操作EXCEL的代码

2012-02-23 
请高手帮我用VBA写个跨sheet操作EXCEL的代码要用vba写,我的要求:1、EXCEL有两个sheet:sheet1、sheet2sheet1

请高手帮我用VBA写个跨sheet操作EXCEL的代码
要用vba写,我的要求:
1、EXCEL有两个sheet:sheet1、sheet2
sheet1 A1要引用sheet2 B列从B2开始往下不为空值的数据 作为数据源,做成个下拉列表,
如sheet2 :B列 C列 
  a(所在行为2) (背景色为红)
  b (背景色为白)
  c (背景色为蓝)
  (空值)
  d (背景色为紫)
则sheet1 A1下拉列表值为a、b、c,没有d;若动态在b、c插了e,则下拉列表值为a、b、e、c

2、sheet1 A1下拉列表生成后,选择a,A1-A10 cell的背景色变成sheet2 B2(值为a)对应的C2的背景色(红)
sheet1 A1下拉列表选择b后,A1-A10cell的背景色变成sheet2 C3的背景色(白)
……
请高手帮忙啊,谢谢


[解决办法]
1)可以用数据有效性的列表类型,不过不能自动排除空值。
你可以在源列表(Sheet2)中删除空行,通过名称来进行定义,这样动态插入新的数据行名称不变,Sheet1!A1 的数据有效性定义不需要更改。

2)通过下拉列表选择不产生 Worksheet_Change() 事件,无法自动更改背景色。
[解决办法]
将需要处理的文档发给我,我可以帮你处理:cynwau@yahoo.com.cn

热点排行