将特定条件会议数据从一个工作表复制到另一个工作表

时间:2013-08-07 11:14:08

标签: excel excel-vba vba

我有三个工作表,一个包含我写的所有支票清单,一个包含我个人帐户中所有支票的清单,另一个包含我公司帐户中所有支票的清单。

我不知道如何将名为“Business”的所有支票转到工作表3,名称为“Personal”的支票转到工作表2。

示例:

工作表1

Name      Cheque No. Date     Amount Currency
Personal  1234567    10/8/13  10000  HKD
Business  1234567    9/8/13   10000  USD

工作表2

Name      Cheque No. Date     Amount Currency
Personal  1234567    10/8/13  10000  HKD

工作表3

Name      Cheque No. Date     Amount Currency
Business  1234567    9/8/13   10000  USD

2 个答案:

答案 0 :(得分:1)

第1步: 在您的工作表1'您可以再添加一列作为' Count'并做以下事情; enter image description here

向下拖动公式

第2步:

在'工作表2'你可以这样做; enter image description here

即 对于每一栏;

'名称' ="Personal"&ROW(P1)

'选中否' =IFERROR(VLOOKUP(A2,Sheet1!$B$2:$F$9,2,FALSE),"")

'日期' =IFERROR(VLOOKUP(A2,Sheet1!$B$2:$F$9,3,FALSE),"")

'量' =IFERROR(VLOOKUP(A2,Sheet1!$B$2:$F$9,4,FALSE),"")

'货币' =IFERROR(VLOOKUP(A2,Sheet1!$B$2:$F$9,5,FALSE),"")

向下拖动公式。

第3步:

在工作表3'这样做;

enter image description here

根据'名称'列替换'个人'在商业'的公式中。其余的都是一样的。

确保向下拖动公式以获得结果

这就是我的个人' (工作表2)和' business' (工作表3)工作表看起来像;

enter image description here

enter image description here

对图像质量感到抱歉。

答案 1 :(得分:1)

探索Siddharth和KazJaw的建议 - 它们很少出错。

解决问题的几种常用方法:

1

  • 在工作表2中创建数据透视表。
  • 在工作表3中创建一个数据透视。
  • 每个数据透视表都应在枢轴报告过滤器中具有“名称”字段 - 将一个设置为“个人”,将另一个设置为“业务”。
  • 在工作表1中使用命名范围,并将每个数据透视表的数据设置为该命名范围。
  • 添加新数据时,您只需调整指定的范围区域并按刷新。

(上面的最后一个要点可能是一个非常小的宏)

2

或者使用类似以下内容的宏:

Option Explicit

Sub MoveToOtherSheets()

With Excel.ThisWorkbook.Sheets("Sheet1")
    Dim cell
    For Each cell In .Range(.Cells(2, 1), Cells(.Rows.Count, 1).End(Excel.xlUp))

        If UCase(cell(1, 1)) = "PERSONAL" Then
            With Excel.ThisWorkbook.Sheets("Sheet2")
                cell.EntireRow.Copy .Cells(.Rows.Count, 1).End(Excel.xlUp)(2, 1)
            End With
        End If

        If UCase(cell(1, 1)) = "COMPANY" Then
            With Excel.ThisWorkbook.Sheets("Sheet3")
                cell.EntireRow.Copy .Cells(.Rows.Count, 1).End(Excel.xlUp)(2, 1)
            End With
        End If
    Next

End With

End Sub