コードからわかるように、私はVBAの新機能ですので、愚かな質問であれば謝ります。VBAを繰り返すExcelのそれ以降の列を検索
グローバル変数Verb1で指定されたテキスト文字列に対して1つのワークシート(RawData)を表示し、別のワークシート(Verbatim)の最初の空の列に貼り付けるコードブロックが必要です。
私の難しさは、Verb1に格納されている文字列がRawDataで1、2、または3回表示される可能性があるためです。複数の列をチェックするFind関数が必要です。
しかし、私のコードが実際に行っていることは、文字列の最初の出現を保持する列をコピーし、それを検索範囲内の列の数に等しい数だけ貼り付けることです...この場合、 688回。
コードがFor ... Nextステートメントなしで動作することを確認しました(つまり、文字列が最初に見つかった場合は、それをVerbatimワークシートの最初の空白の列に貼り付けます)。このステートメントでエラーが何であるかを参照してください。
Public Verb1 As String
Sub Paste2()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim aCell As Range
Dim NextCol As Long
Set ws1 = ThisWorkbook.Sheets("RawData")
Set ws2 = ThisWorkbook.Sheets("Verbatim")
Set Rng = ThisWorkbook.Sheets("RawData").Range("A1:ZZ1")
NextCol = 0
Worksheets("RawData").Activate
With ws1
'Copy and Paste Verbatim
For Each Cell in Rng
NextCol = NextCol + 1
Set aCell = Worksheets("RawData").Range("A1:ZZ1").Find(What:=Verb1,
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False, SearchFormat:=False)
aCell.EntireColumn.Copy ws2.Cells(1, NextCol)
Next Cell
End With
End Sub
誰でも正しい方向に向けることができますか?
ご協力いただきありがとうございます。
ありがとう、これは美しく働いて、私のコードのクリーンアップはあまりにも高く評価されています。 – mantika
@mantika答えとして自分の回答をマークすることができたら感謝の意を表します。評価インジケータの下にあるチェックマークをクリックすると –