Vba 経由でどこでもテキストの折り返しを使用するにはどうすればよいですか?

VBA には、セルまたはセル範囲に折り返しテキストを適用するためにアクセスできる「WrapText」と呼ばれるプロパティがあります。これを有効または無効にするコードを記述する必要があります。これは読み取りおよび書き込みプロパティであるため、適用することも、セルに適用されている場合は取得することもできます。

このチュートリアルでは、VBA コードを使用してテキストの折り返しを適用するさまざまな方法を見ていきます。

VBAを使用してセル内のテキストを折り返す

VBA コードを使用してテキストの折り返しを適用するには、次の手順を実行します。

  1. range プロパティを使用して、折り返しテキストを適用するセルを定義します。
  2. ピリオドを入力すると、そのセルのプロパティとメソッドのリストが表示されます。
  3. リストから「WrapText」プロパティを選択します。
  4. 等号「=」を入力し、「TRUE」と入力してワードラップを有効にします。
 Sub vba_wrap_text() Range("A1").WrapText = True End Sub

次の方法でもセルを指定できます。

 Cells(1, 1).WrapText = True

セルの行内でテキストを折り返す

また、範囲全体にテキストの折り返しを適用したい場合は、単一のセルではなく範囲を指定する必要があります。

 Range("A1:A5").WrapText = True

「usedRange」プロパティを使用して、使用範囲(データを入力したワークシートの選択)に適用することもできます。

 Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
ラップテキストを使用範囲に適用する

上記のコードの最初の行では、 Worksheet を指定してから、テキストを折り返す「usedProperty」を指定しました。 2 行目には、アクティブ シートの使用範囲が示されています。ただし、どちらの行も同じように機能します。

知っておくべきいくつかの例を次に示します。

  • 不連続セル
  • 全行
  • 列全体
  • 名前付き範囲
ラップテキストの例
 Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True

ワークシート全体でテキストを折り返す

ワークシート全体を参照するには、次のコードのように Cells プロパティを使用する必要があります。

 Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
テキストをワークシート全体に折り返す

コードの最初の行はアクティブ シートを参照し、2 行目は「Sheet1」ワークシートを参照します。 FOR EACH (For Next)を使用したループを使用して、ブック内のすべてのワークシートをループし、すべてのセルに折り返しテキストを適用することもできます。

ラップテキストを適用するために使用するループ
 Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws

上記のコードでは、変数として「ws」があり、For Each ループがワークブック内のすべてのワークシートをループし、セルを使用してワークシート全体のテキストを折り返すように適用されます。

ラップテキストを無効にする

ご覧のとおり、WrapText プロパティを有効にする必要がありますが、同様に FALSE を宣言する add を使用して無効にすることができます。

 Range("A1").WrapText = False

注:セルに値があり、セルの幅がその値を格納するのに十分な場合、行にテキストを適用しても Excel は内容を次の行に移動しないことを理解する必要があることが 1 つあります。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です