異なる形式のテキストをセルに追加する(Microsoft Excel)
Larryは、いくつかのExcelワークブックの列の各セルにテキストを置き換えたり追加したりする任務を負っています。問題は、この新しいテキストに下線を引き、別の色にする必要があることです。検索して置換すると、セル内のすべてのテキストに下線が引かれ、色が付けられますが、ラリーは追加されたテキストだけに適用するための書式設定が必要です。
この種のタスクを数回実行するだけでよい場合、最も簡単な解決策はMicrosoftWordの助けを借りることかもしれません。セルの範囲をWord文書にコピーし、Wordの検索および置換機能を使用して書式を変更してから、テキストをExcelワークシートにコピーして戻すことができます。
このタスクをより頻繁に実行する必要がある場合は、マクロを使用するのが最善の方法です。次のマクロを使用して、列のセルのテキストを変更したり、セルにテキストを追加したりできます。
Sub AddFormatedText() Dim K As Long Dim lCol As Long Dim LastRow As Long Dim sFind As String Dim sReplace As String Dim FullCells As Range Dim c As Range ' Column to work on lCol = 1 ' Text to be replaced in the cell ' If this variable is empty, then ' the contents of sReplace are added ' to the end of the cell sFind = "" ' Text to replace sFind or to add to the cell sReplace = "More Text" ' Find last row in column A LastRow = Cells(Rows.Count, "A").End(xlUp).Row ' Set range to check Set FullCells = Range(Cells(1, lCol), Cells(LastRow, lCol)) ' Start looking through each cell For Each c In FullCells K = 0 ' Only check if there is not a formula in the cell ' and if the cell has some text in it If Not c.HasFormula And Len(c.Text) > 0 Then If sFind > "" Then ' Replace first found instance of text in sFind K = InStr(c.Text, sFind) If K > 0 Then c = Left(c.Text, K - 1) & sReplace & _ Mid(c.Text, K + Len(sFind)) End If Else K = Len(c.Text) ' Add the text to the cell (plus a space) c = c & " " & sReplace ' Adjust starting position for formatting K = K + 2 End If End If ' Format the added text, if any If K > 0 Then With c.Characters(Start:=K, Length:=Len(sReplace)).Font .Underline = xlUnderlineStyleSingle .Color = vbRed End With End If Next c End Sub
マクロを使用するには、3つの変更を加える必要があります。 1つ目は、lCol変数が影響を与える列番号に設定されていることを確認することです。次に、セル内で検索して置換するテキストと同じsFindを設定する必要があります。セルにテキストを追加するだけの場合は、必要に応じて、sFindを空のままにしておくことができます(上記のとおり)。
最後に、sReplaceを、sFindを置き換えるもの、またはセルに追加するものと等しく設定する必要があります。
マクロは、指定された列の各セルを調べます。セルに数式が含まれておらず、すでにテキストが含まれている場合は、テキストが置き換えられるか、追加されます。最後に、セルに変更が加えられた場合、sReplaceにあったものには下線が引かれ、赤になります。セルに変更が加えられた場合、セル内の既存の書式設定は、行われた変更によって上書きされることに注意してください。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(9302)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。