房天下 > 房天下问答 > 业主生活 > 其他
  • 表格内容复制到另外一个表格

    希望用宏代码或者公式实现以下功能:在付款记录表中 填单号的地方 填上单号,就可以把进货明细表中对应单号的信息全部填到付款记录表中 ,填一个单号就复制一个单号的内容。希望各位高手帮帮忙,谢谢了!

    提问者:xamljn

    发布于2010-11-30

共1个回答
  • ainin1999 丨Lv 0
    【1】(jysj0542答案)使用OFFSET函数有一个隐患:当单号不按从1开始的顺序排列、或当中缺号时会出错。以致单号必须是从1开始的整数,即使是很早已经处理过的、也不能删除,给使用带来不便。【2】最常见的是使用VLOOKUP函数查找。但VLOOKUP函数有些小的不足;1: 限定在区域的第一列中查找,而单号是在第二列,第一列的日期要另外处理。当然,实际上,只要把日期与单号位置对调一下就很方便。2: 数据源是空的单元格,引用后会变为0,有点不顺眼;3: 更多附加要求要另外处理。公式看起来很多,其实很简单,在A7输入公式后,向其他单元格拉,复制即可。(日期与单号位置已更换)=IF(ISERROR(VLOOKUP($P7,进货明细!$A$7:$O$21000,COLUMN(),FALSE)),"", VLOOKUP($P7,进货明细!$A$7:$O$10000,COLUMN(),FALSE))【3】使用宏最灵活,可以方便满足更多附加要求,如处理后变颜色…等,在工作表模块(双击出现)中写入宏,检测是否在“输入单号”列中输入单号,如果输入单号,则按单号查找,查找到则填写,并将源变红提示。Private Sub Worksheet_Change(ByVal Target As Range) H = Target.Row If Target.Column = 16 And Target.Row > 6 Then For i = 7 To 100000 If Sheet1.Cells(i, 1) = "" Then MsgBox ("没找到!") Exit Sub End If If Sheet1.Cells(i, 1) = Target Then For j = 1 To 15 Sheet2.Cells(H, j) = Sheet1.Cells(i, j) Sheet1.Cells(i, j).Font.ColorIndex = 3 ‘ 附加处理后变颜色 Next j Exit Sub End If Next i End IfEnd Sub见附件:增加一个工作表“记录”是使用宏的。附件:副本---.rar
    +1 2010-11-30 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。