2

我有三张工作表,一张是我写的所有支票的清单,一张是我个人账户中所有支票的清单,一张是我公司账户中所有支票的清单。

我不知道如何将名称为“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
4

2 回答 2

1

第 1 步: 在“工作表 1”中,您可以再添加一列作为“计数”并执行以下操作; 在此处输入图像描述

向下拖动公式

第2步:

在“工作表 2”中,您可以这样做; 在此处输入图像描述

即对于每一列;

'姓名'="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”中执行此操作;

在此处输入图像描述

在“姓名”列下,将公式中的“个人”替换为“业务”。其余的都是一样的。

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

这就是我的“个人”(工作表 2)和“业务”(工作表 3)工作表的样子;

在此处输入图像描述

在此处输入图像描述

对图像质量感到抱歉。

于 2013-08-07T11:55:55.977 回答
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
于 2013-08-07T12:16:08.057 回答