2014-12-20 3 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'. Это предназначено? Предполагая, что это так, потому что я не вижу цикла - может быть, проблема заключается в том, что активная ячейка не сбрасывается по своему усмотрению (??) в зависимости от того, в каком столбце находятся ваши данные, изменит ваш метод «Найти» на что-то вроде 'After: = Worksheets (« MySheetName »). Работает ли диапазон (« A1 »)? Вам нужно изменить имя листа и использовать правильный диапазон/столбец, конечно –

ответ

0

Ваш Range ("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 на вновь добавленного листа.

Смежные вопросы