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

EXCEL中怎么解决引用后自动产生多行数据,及关联删除等有关问题

2012-03-13 
EXCEL中如何解决引用后自动产生多行数据,及关联删除等问题?SHEET1表中A字段输入后,如何实现SHEET2表中的A

EXCEL中如何解决引用后自动产生多行数据,及关联删除等问题?
SHEET1表中A字段输入后,如何实现SHEET2表中的A字段,其在SHEET1中输入的每行数据在SHEET2中自动产生三行,如下表:


SHEET1中有: (输入主表)

  号码(A栏位) 栏位2(B栏位) 栏位3(C栏位)

  14000
  15000
  16000
  ........

SHEET2中有:(次表中实现以下功能)
  号码(A栏位) 栏位2(B栏位) 栏位3(C栏位)

  14000  
  14000
  14000
  15000
  15000
  15000
  16000
  16000
  16000
  ........

问题1:,SHEET2中A栏位从SHEET1中获取,重要的时如何实现从SHEET1中获取的每个单元格数据,在SHEET2中需生成同样号码三行数据,并以此类推...),要如何做?

问题2:实现问题1以后,如果要实现一按扭其功能是:假如删除SHEET1中的某行数据(如号码为14000行数据)时,SHEET2中对应的三号数据也删除(删除后不得留空行),这个恐怕是要用VBA实现了,如何做?

问题1如果不用VBA,用函数应该能实现吧..,问题2如果用VBA实现该如何写呢?.劳烦了.


[解决办法]
我估计你是下面这个要求把:

在sheet1里头放一个按钮, 关联下面 这个代码, 选择sheet1的一行 , 点击这个按钮就可以删除了

sheet2的A列, 要根据A1=INDIRECT("sheet1!A" & INT((ROW()+2)/3)) 先下拉填充


Sub del3()

str1 = ActiveCell.Text
r = ActiveCell.Row
r = r & ":" & r


Sheets("Sheet2").Select
Columns("A:A").Select '根据a列匹配
Selection.Find(What:=str1, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate

r2 = ActiveCell.Row
r2 = r2 & ":" & (r2 + 2) '删除3行
Rows(r2).Select
Selection.Delete Shift:=xlUp


Sheets("Sheet1").Select
Rows(r).Select
Selection.Delete Shift:=xlUp



End Sub

热点排行