特定のキーワードに対してA1:D10000から切り取りデータが必要です。例 "Release Date:\ n"の文字列がある場合は、F列の対応するセルに&のペーストが挿入されます。 任意の文字列がでている場合は、私が意味する、「発売日:\ n」はC21で、それは、私はそれがうまく動作するコード&を持つF21切り取り用VBA特定のキーワードのデータ
で&ペーストをカットされます。しかし問題は、私が予想していたよりも完了するのに巨大な時間が必要なことです。すぐに実行されるような優れたコードですか?
マイコード:
サブ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' 'レンジ( "F" &(ActiveCell.Row))と言うことができます値= found.value'。また、処理中に計算をオフにします。また、instrのような文字列比較関数を使用して、必要な処理を行うこともできます。数式でSEARCH&FINDを使うこともできますので、this = IF(ISERR(SEARCH、 "リリース日\ n"、I1))、 ""、I1)のような数式を追加してから、ループ以外のものを探しているループ –
私はInStrがループするのが速いと思います。 [MSDN](https://msdn.microsoft.com/en-us/library/8460tsh1(v = versus90).aspx) – Liss