2014-12-20 38 views
0

我正在編寫一個Excel宏,需要查找特定文本Client Remittance Details,然後選擇並剪切到工作表的末尾,然後粘貼到另一個選項卡上。對於每個不同的工作簿,文本可以位於不同的行中。宏總是寫入一個特定的單元格引用,以便它在下一個文件上出錯。這是宏的一部分,似乎是錯誤。查找特定文本但未設置特定單元格參考

Cells.Find(What:="Client Remittance Details", After:=ActiveCell, LookIn:= _ 
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ 
    xlNext, MatchCase:=False, SearchFormat:=False).Activate 

Range("A12").Select 
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select 
Selection.Cut 
Sheets.Add After:=ActiveSheet 
ActiveSheet.Paste 
+0

你是什麼意思「下一個文件的錯誤」?你有完整的宏嗎?你能以某種方式分享工作簿嗎? –

+0

在你的代碼中,你正在激活找到的單元格(包含你想要的文本) - 然後選擇單元格'A12'。這是打算?假設是這樣,因爲我看不到循環 - 你的問題可能是活動單元格沒有被重置,因爲你喜歡它(?),這取決於你的數據在哪一列,會改變你的Find方法就像'After:= Worksheets(「MySheetName」)。Range(「A1」)'工作?當然,您需要更改工作表名稱並使用正確的範圍/列 –

回答

0

範圍( 「A12」)。選擇被毀掉你發現。此:

Sub luxation() 
    Dim r1 As Range, rCopy As Range, rPaste As Range 
    Set r1 = Cells.Find(What:="Client Remittance Details", After:=Cells(1, 1), LookIn:= _ 
     xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ 
     xlNext, MatchCase:=False, SearchFormat:=False) 
    Set rCopy = Range(r1, Cells.SpecialCells(xlCellTypeLastCell)) 
    Sheets.Add After:=ActiveSheet 
    Set rPaste = Range("A1") 
    rCopy.Copy rPaste 
End Sub 

這設置rPaste到小區A1新添加的片材上。

相關問題