Minerva Consulting AI & データエンジニア

業務の高速化・効率化の考え方と実装例

Excel-VBAを Copilotに聞いてみた!

はじめに、

Excel VBAの開発で、良く使う「マクロ記録」、しかし 図形⇒プロパティ⇒文字のオプション⇒『テキストを図形からはみ出して表示する』は、マクロに記録されない!

図形のテキストをはみ出して表示する

それならば、ExcelMicrosoftなので、Colilotに聞いてみよう! 

筆者:
「図形のテキストを図形からはみ出して表示する」VBAコードを教えてください。

 

Copilot:

以下が、Excel(図形/テキストボックス)の 「図形のテキストを図形からはみ出して表示する」VBAでONにする定番コードです。ポイントは Shape.TextFrame.VerticalOverflow / HorizontalOverflow(※TextFrame2ではなくTextFrame側)と、必要なら TextFrame2.WordWrap = msoFalse(折り返しOFF)を併用することです。
 
1) 指定した図形1つに「はみ出し表示」を設定する(基本)
Sub ShapeTextOverflow_On()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes("TextBox 1") '←対象名に変更
 
    '--- 「テキストを図形からはみ出して表示する」
    shp.TextFrame.VerticalOverflow = xlOartVerticalOverflowOverflow
    shp.TextFrame.HorizontalOverflow = xlOartHorizontalOverflowOverflow
 
    '--- 「図形内でテキストを折り返す」をOFF(必要に応じて)
    shp.TextFrame2.WordWrap = msoFalse
End Sub
 
2) シート上の「全図形」に一括適用(テキストがある図形だけ)
Sub ShapeTextOverflow_AllShapes_On()
    Dim shp As Shape
------------- 以下省略 -------------------------------
あとは、コードをコピペするのですが、
開発中コードに、 「shp.」と入れて、プルダウンのリコメンドに上のコードが出てくれば選択する。これが確実です。エラー無く完成しました。
あまりにも上手くできたので、Excelを閉じてしまい、
お礼する前にCopilot は去ってしまいました。
以上