2013-08-07 22 views
2

我有三張工作表,一張帶有我寫的所有支票的清單,一張帶有我個人帳戶中所有支票的清單,另一張帶有我的所有支票清單商業賬戶。將特定條件會議數據從一張工作表複製到另一張

我不知道如何使所有的名字支票「業務」轉至工作表3和名稱爲「個人」的那些去到工作表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

你嘗試任何事情到目前爲止(在SO中提問時推薦使用)? –

+1

檢出使用自動過濾器。 [此](http://stackoverflow.com/questions/11631363/how-to-copy-a-line-in-excel-using-a-specific-word-and-pasting-to-another-excel-s)應該讓你開始。如果你仍然堅持,然後張貼你嘗試的代碼和你得到的錯誤,然後我們會從那裏... –

+0

複製可以引起版本控制問題,並依靠軟件時,不能寫代碼(因此可能不解決任何問題)有點冒險,所以我建議將數據透視表視爲「兩全其美」。 – pnuts

回答

1

步驟1: 在你的 '工作表1' 你可以包括一個或多個列作爲 '計數',並做了以下內容: enter image description here

拖動公式向下

第2步:

在 '工作表2' 你可以做到這一點; enter image description here

ie 對於每一列;

'名稱' ="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)和「生意」(工作表3)工作表的樣子;

enter image description here

enter image description here

對不起圖像的質量。

1

探索Siddharth和KazJaw的建議 - 他們很少錯。

一對夫婦的解決你的問題的常用方法:

1.

  • 在片2
  • 創建一個數據透視表創建表3
  • 每個樞軸樞軸報告過濾器中應該有名稱字段 - 將其中一個設置爲Personal,另一個設置爲Business。
  • 在工作表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 
相關問題