回覆 1# FTO
可以用vba 如下:
將以下所有copy 去你現有之excel 表
Dim TargetShtRow As Long
Sub Copy2OtherSht()
'首先 設定好晒 所需數據
'這些數據用來交比下面個 function Copydata 用
SourceSht = "工作表1": TarSht = "工作表2"
AtCol = "A"
'假設欄名以下是row 2
TargetShtRow = 2
FndString = "產品A"
' 只要改變以上數字 閣下喜歡用那一直行尋找 數字都可以
'Clean Target Sheet old data
'清除目的地 欄名以下的數據
Call ClearSht(TarSht, TargetShtRow)
'Call function CopyData
Call CopyData(SourceSht, TarSht, AtCol, TargetShtRow, FndString)
End Sub
Function CopyData(SourceSht, TarSht, AtCol, TargetShtRow, FndString)
Dim lr As Long, r As Long
By_Column = AtCol
'Find total no. of rows in Sheets
lr = Sheets(SourceSht).Cells(Rows.Count, By_Column).End(xlUp).Row
For r = lr To 2 Step -1
If Sheets(SourceSht).Range(By_Column & r).Value = FndString Then
Sheets(SourceSht).Rows(r).Copy Destination:=Sheets(TarSht).Range("A" & TargetShtRow)
TargetShtRow = TargetShtRow + 1
End If
Next r
End Function
Sub ClearSht(TarSht, TargetShtRow)
TarRange = "A" & TargetShtRow & ":J200"
'Sheets(TarSht).Range("A3:J200").Clear 'use either one
Sheets(TarSht).Range(TarRange).Clear
' .Range(.Cells(1, 1), .Cells(50, 50)).Clear
End Sub |