セル内の各文字を調べて、単語に下線が引かれイタリック体になっているかどうかを調べようとしていますが、ループが実行されてフリーズしています。どのようにしてイタリック体とアンダーラインの単語をコピーして移動できますか?これは私がこれまで持っていたものです。私は新しい質問をしました。なぜなら、私はこの点で十分にはっきりしていなかったからです。 Array split and extract vba excelからアクセスできます。配列の分割と抽出
For Each j In ActiveSheet.Range("C1:C105")
v = Trim(j.Value)
If Len(v) > 0 Then
v = Replace(v, vbLf, " ")
Do While InStr(v, " ") > 0
v = Replace(v, " ", " ")
Loop
arr = Split(v, " ")
For Z = LBound(arr) To UBound(arr)
e = arr(Z)
For i = 1 To Len(v)
If j.Characters(i, 1).Font.Italic = True And j.Characters(i, 1).Font.Underline = True Then
j.Value.Copy
End If
Next i
Next Z
End If
Next j
ですイタリック体の最後の文字を取得する必要があるので、ループを続行する必要がありますので、MIDを使用することができます。残念ながら無視してください。スペースで分割している場合、分割値を貼り付ける必要がありますあなたが何をしようとしているのかをワークシートに書き込んでください。それぞれの単語の最初の位置に分割したセルでFINDまたはSEARCHを使用して、その単語を確認できます。 A1を分割して配列をループし、A1の位置を取得してから、その最初の文字を確認します。 –
あなたのアプローチには論理的に間違っていることがいくつかありますが、達成しようとしていることについてもっと詳しく説明できますか?どこにイタリック体のテキストを移動させたいですか? –
@David Zemensセルには複数の単語があり、イタリック体と下線を引いた単語を新しいシートに移動しています。 – johndoe253