Я хочу, чтобы данные обрезания из A1: D10000 для определенного ключевого слова. Пример, если есть строка с «Дата выпуска: \ n», она будет вырезана & вставить соответствующую ячейку в столбец F. Я имею в виду, если любая строка имеет с «Дата выпуска: \ п» в С21, то он будет разрезать & пасту F21VBA for cut Данные для определенных ключевых слов
У меня есть код & он работает отлично. Но проблема в том, что для завершения требуется огромное время, чем я ожидал. Любой лучший код, как будто он работает быстро?
Мой код:
Sub Macro87()
For Repeat = 1 To 10000
Dim found As Range
Sheets("part15").Select
Range("A1").Select
Columns("A:D").EntireColumn.Select
Set found = Selection.Find(What:="Release Date:\n ", After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext _
, MatchCase:=False, SearchFormat:=False)
If Not found Is Nothing Then
found.Select
ActiveCell.Select
Selection.Cut
Range("F" & (ActiveCell.Row)).Select
ActiveSheet.Paste
Set found = Nothing
End If
Next
End Sub
Попытка прекратить использование 'select', вы можете сказать' found.cut', например 'Range ("F" и (ActiveCell.Row)) значение = found.value'. также отключить расчет во время обработки. Также, возможно, используйте функцию сравнения строк, такую как instr, чтобы делать то, что вы хотите. Вы также можете использовать SEARCH & FIND в формуле, поэтому вы можете добавить формулу следующим образом: = IF (ISERR (SEARCH («дата выпуска \ n», I1)), «», I1), а затем выполните поиск в столбце результатов в вашем loop ищет записи не "" –
Я бы подумал, что InStr будет быстрее прокручиваться. [MSDN] (https://msdn.microsoft.com/en-us/library/8460tsh1 (v = vs.90) .aspx) – Liss