• ベストアンサー

VBAのコマンドボタンの文字列の改行方法は?

EXCEL2000のVBAでコマンドボタンを使っていますが、ボタンの横サイズは大きくできないときに、ボタンの文字列(caption)が長いので表示が途中で切れてしまう。WordWrapをtrueにすると改行するが、任意の文字位置で改行できない。スペース文字を途中で挿入して改行位置を調整しようとしてもうまくいかない。任意の位置で改行する方法はありますか。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

コマンドボタンのプロパティの『Caption』欄ではなく、コマンドボタン上での直接編集なら、 Shiftキー+Enterキーの同時押しで、任意の位置に改行を挿入できます。 具体的な手順を以下に説明します:  1)『コントロール ツールボックス』ツールバーの左端にある『デザイン モード』ボタンを   クリックして、デザインモードに切り替える  2)改行を入れたいコマンドボタンを右クリック  3)右クリックメニューから「コマンドボタン オブジェクト(O)→編集(E)」を選択  4)コマンドボタン上にカーソルが表示されるので、改行させたい位置に移動  5)Shiftキーを押しながらEnterキーを入力 ・・・以上です。

scorpion49
質問者

お礼

ありがとうございました。解決しました。 captionのテキストボックスの中でゴチャゴチャ触っていたのが無理だったということのようです。頭を柔らかくしなければいけないな、と反省しきりです。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

既にいろいろやり方が出てますが、1つ追加を。 プロパティウインドウにて設定する場合、以下の方法で可能です。 1.メモ帳などのテキストエディタを開き、Captionに設定する文字列を   改行付きで書く。 2.書いた改行付き文字列をコピーし、プロパティウインドウの   Captionの欄に貼り付ける。 プロパティウインドウの内容自体は少し文字化けしてしまいますが、 ちゃんと改行されます。

scorpion49
質問者

お礼

解決しました。ありがとうございました。 EXCEL2000とEXCEL2006で予定の文字列は全角・半角文字ともに問題なく改行できました。captionのテキストボックスの中で文字コードを触ってたりして試行錯誤していましたが、発想の転換というか、意外な方法が有効とは・・・気づきませんでした。

すると、全ての回答が全文表示されます。
  • roygbiv
  • ベストアンサー率14% (1/7)
回答No.2

コードを書けばできます。たとえば、 CommandButton1.Caption = "CommandButton" & vbCr & "123" シートにボタンを貼って、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) でコードたしたらうまくいきました。 あとは応用してみてください。

scorpion49
質問者

お礼

ありがとうございました。解決しました。 質問に正確に書かなかった私のミスですが、今回はデザインモードでボタンの配置などを行っていた時の行き詰まりでしたので、Shift+Enterで解決しました。教えていただいたコードは今後使わせていただきます。

すると、全ての回答が全文表示されます。
  • diashun
  • ベストアンサー率38% (94/244)
回答No.1

VBAでのコントロールなどのキャプション設定をする場合、 イベントプロシージャの「UserForm_Initialize」に下記の通り記述すれば実現できると思います。 以下のコードをフォームモジュールに記述してください。 ''ここからコピー Private Sub UserForm_Initialize() Me.CommandButton1.Caption = "aaa" & vbCrLf & "bbb" End Sub ''ここまでコピー ちなみに「vbCrLf」は「改行」を意味しています。

scorpion49
質問者

お礼

ありがとうございました。解決しました。 私の質問が正確でなかったのですが、今回はデザインモードでいくつかのボタンのイメージを確認しながらcaptionを改行させたかったので、Shift+Enterで解決しました。教えていただいたコードは別の機会に使わせていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A