列H(行数はファイルごとに異なります)のセル値が「単語」または「単語2」かどうかを確認しようとしています。 「Words」または「Words2」を含まないセルは、スペース区切り文字に基づいて別々の列に分割され、「Words」および「Words2」を含むセルは変更されません。現在、私のコードはどのセルも分離していません。私はDim as RangeとInStrを使用するのが初めてで、使用するのが最も効率的かどうかは完全にはわかりません。私は無用にコードの複数のバリエーションを試してみました。 ARGNAMEは列Hの各セルです(少なくとも、それは私が目指しているものです)。列のセル値が特定のテキストの場合、セル値がテキストと列で分割されます
Sub WordSplit
Dim lastRow As Long
lastRow = Range("A" & Rows.Count).End(xlUp).Row
Dim SrchRng As Range, ARGNAME As Range
Set SrchRng = Range("H1:H" & lastRow)
For Each ARGNAME In SrchRng
If InStr(1, ARGNAME.Value, "Words") Or InStr(1, ARGNAME.Value, "Words2") < 0 _
Then Columns("H:H").TextToColumns Destination:=Range ("H1"), DataType _
:=xlDelimited, ConsecutiveDelimiter:=True, Space:=True, _
FieldInfo:=Array(Array(1, 1)),TrailingMinusNumbers:=True
End If
Next ARGNAME
End Sub
ああのようなものを試してみてください列 '。 しかし、私は 'TextToColumns'のための列Hの目標範囲を維持する必要がありました。なぜなら、その列の代わりに元の列から開始する必要があったからです。 はい、具体的には、ファイル内の行数がファイル内ではなくファイル内で一貫しているため、列Aの列Hが列Aと一致することを確認しました。ありがとうございました! – Liz
私はあなたの開始列インテントに気づき、私の答えを –