2016-03-03 91 views
0
Sheets("Table").Select 
Cells.Find(What:="Cat", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ 
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
    False, SearchFormat:=False).Offset(1, 1).Activate 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Offset(rowoffset:=0, columnoffset:=-1).Select 
Selection.Resize(Selection.Rows.Count + 0, Selection.Columns.Count + 10).Select 
Selection.Copy 
Sheets.Add After:=Sheets(Sheets.Count) 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
Sheets("Table").Select 
Cells.Find(What:="Bat", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ 
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
    False, SearchFormat:=False).Offset(1, 1).Activate 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Offset(rowoffset:=0, columnoffset:=-1).Select 
Selection.Resize(Selection.Rows.Count + 0, Selection.Columns.Count + 10).Select 
Selection.Copy 
Sheets("Sheet1").Select 
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 

佔到錯誤,我很新的卓越,並試圖解釋當我在尋找一個關鍵詞是上不了檯面會發生錯誤。我不知道如何格式化它的工作,但基本上第一個搜索,如果錯誤,然後進入下一個搜索沒有做任何選擇,複製和粘貼部分(同第二次搜索)。Excel的VBA - 如何從搜索

+2

完成搜索後,檢查包含結果的變量以查看它是否等於Nothing。這會告訴你,如果搜索發現任何東西。 –

回答

0

創建一個Range變量您發現功能分配給,然後使用If語句來確定它是否存在與否。如果否,轉到下一個。

Dim fRange As Range 

Sheets("Table").Select 
Set fRange = Cells.Find(What:="Cat", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ 
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
    False, SearchFormat:=False).Offset(1, 1) 

If Not fRange Is Nothing Then 

fRange.Select 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Offset(rowoffset:=0, columnoffset:=-1).Select 
Selection.Resize(Selection.Rows.Count + 0, Selection.Columns.Count + 10).Select 
Selection.Copy 
Sheets.Add After:=Sheets(Sheets.Count) 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 

End If 


Sheets("Table").Select 
Set fRange = Cells.Find(What:="Bat", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ 
    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ 
    False, SearchFormat:=False).Offset(1, 1) 

If Not fRange Is Nothing Then 

fRange.Select 
Range(Selection, Selection.End(xlDown)).Select 
Selection.Offset(rowoffset:=0, columnoffset:=-1).Select 
Selection.Resize(Selection.Rows.Count + 0, Selection.Columns.Count + 10).Select 
Selection.Copy 
Sheets("Sheet1").Select 
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 

End If