- ベストアンサー
excel ユーザーフォームの文字強調
excel2000です。 Private Sub UserForm_Initialize() txtbox1.value="あああ" & vbnewline _ &"いいい" & vbnewline _ & "ううう" & vbnewline _ ・・・ End sub フォームを開く時に文字を表示させたいのですが、 上のように1行目の"あああ"だけ、 太字にして下線を引いて強調したいのですが可能でしょうか? 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず回答とします。 質問のことは、出来ません。 下記が限度です。 ーー Private Sub UserForm_Initialize() Me.TextBox1.MultiLine = True s = "あああ" & vbLf & "いいい" & vbLf _ & "ううう" ' s.Characters(1, 3).Font.Color = vbRed Me.TextBox1 = s Me.TextBox1.ForeColor = vbRed Me.TextBox1.Font.Bold = True End Sub ーー エクセルのRangeオブジェクト(セルの文字)などではCharacters() という文字一部範囲指定が出来ますが、(フォームj上、シート上の)テキストボックスオブジェクトでは使えない。 ーー 後刻他の識者の方が、「出来る」という回答が出た場合は、お許しください。 ーー 質問文に載せるコードを書く以上動くものを書いてほしい。質問のコードは動かないのでは。
その他の回答 (3)
どのみち、VBAを使っているんですから、 テキストボックスでなくラベルでも Me.ラベル名.Caption で取得できますよ。
お礼
ありがとうございます。
- marbin
- ベストアンサー率27% (636/2290)
テキストボックスで一部の文字だけ太字にしたり 下線を付けたりは出来ないと思います。 それでラベルを提案させていただきました。 あるいは、どなたからか、テキストボックスで出来るはずだ、 ということをお聞きしたのでしょうか?
お礼
いえ、できるのであればいいなと 勝手に思っていただけです。 ありがとうございます。
- marbin
- ベストアンサー率27% (636/2290)
表示するだけなら、ラベルを使ってはいかがでしょう? 複数のラベルを隙間なく配置し、一番上のラベルのフォント を太字にし、文字飾りの下線にチェックしておきます。
お礼
ご回答ありがとうございます。 ラベルではなく、テキストボックスでやりたいと思っております。 "ううう"以降に入力をして、 あるセルにまとめて設定しようとしていますので、テキストボックス でやりたいと思っております。
お礼
参考になります。 コードの件は以後気をつけたいと思います。 ありがとうございました。