我有三个工作表,一个包含我写的所有支票清单,一个包含我个人帐户中所有支票的清单,另一个包含我公司帐户中所有支票的清单。
我不知道如何将名为“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
答案 0 :(得分:1)
第1步: 在您的工作表1'您可以再添加一列作为' Count'并做以下事情;
向下拖动公式
第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)和' business' (工作表3)工作表看起来像;
对图像质量感到抱歉。
答案 1 :(得分:1)
探索Siddharth和KazJaw的建议 - 它们很少出错。
解决问题的几种常用方法:
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