• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:英文の各単語の最初の2文字以降を○に変換したい)

英文の各単語の最初の2文字以降を○に変換したい

このQ&Aのポイント
  • エクセルのデータに英文がたくさんあります。英文の各単語の最初の2文字以降を○に変換したいのです。
  • 質問者はエクセルのデータに英文がたくさんあり、各単語の最初の2文字以降を○に変換したいと考えています。
  • 単語だけの転換ならばできるが、文となるとわからないため、関数かプログラムでうまく処理できるか知りたいという質問です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 前の続きですね。まあ、英文内容は難しい(hardest)文章ですね。 以下で試してみてください。多くを調べたわけではありませんから、不都合があるかもしれません。標準モジュールに登録してから、実行してください。 Sub Test1()   Dim strPattern As String   Dim c As Range   Dim buf As String   Dim Matches As Object   Dim Match As Object      strPattern = "\b[^\s]{2,}\b"      With CreateObject("VBScript.RegExp")     .Pattern = strPattern     .IgnoreCase = True     .Global = True     Application.ScreenUpdating = False     For Each c In Range("A1", Range("A65536").End(xlUp))       If .Test(c.Value) Then         buf = c.Value         Set Matches = .Execute(buf)         For Each Match In Matches           buf = Replace(buf, Match, Left(Match, 2) & String(Len(Match) - 2, "○"))         Next Match         c.Offset(, 1).Value = buf              End If     Next c     Application.ScreenUpdating = True   End With End Sub

ei60
質問者

お礼

Wendy02さん、またまたお世話になりましてありがとうございます。 いつもながら即座にご回答いただき助かりました。 見事に一発で転換されたので感動しました。 以前はいちいち手で変換していました。その頃はエクセルの使用も気づかずにワードで作っていました。 エクセルを使い出して、データの利用がいろいろにできるのでその便利さに驚いています。 英語力をつけるためにいろいろと工夫しています。 助かりました。ありがとうございました。

関連するQ&A