
VBAを使用してテキストボックス内のフォントを統一するプログラムを書きました。
でも同じシート内でもテキストBOXと認識してフォントを変更してくれるときと、
テキストBOXと認識しなくてフォントを変更してくれないときがあります。
何故でしょうか?分かる方教えてください。
プログラムは以下のよう書きました。
---------------
Dim tbx As TextBox
For Each tbx In ActiveSheet.TextBoxes
tbx.Font.Name = "MS 明朝"
Next
---------------
No.2ベストアンサー
- 回答日時:
図形の種類によっては提示のコードでエラーになりますね。
On Error ステートメントでエラー制御したりしていますか?
または On Error + シートの保護をかけていたりしているとか?
下記、ちょっと試してみてください。
ActiveSheet.TextBoxes.Font.Name = "MS 明朝"
70個までだったら対応できるはずなんですが。
70個超える場合は
Dim tbx As Object 'TextBox
For Each tbx In ActiveSheet.TextBoxes
tbx.Font.Name = "MS 明朝"
Next
No.1
- 回答日時:
Vista , Excel 2010 なので環境が違いますが
10個作成して実行してみましたがまったく問題ありません。
そのときによってというのはあり得ないことなので
画面表示(描画)が不完全なだけかもしれません。
・うまくいかないのがあったときにシートを最小化・元に戻すなどで
再描画(単なる表示・非表示など)してみてください。
もしそれで直るようなら下記コードのようにDoEventsをいれればきちんと書き換えられるはずです。
・あと1点は単なる見間違い。図形(オートシェープ)のテキストだと、このコードでは書き換えはおこりません。
Dim tbx As TextBox
MsgBox Sheet1.TextBoxes.Count
For Each tbx In Sheet1.TextBoxes
With tbx.Font
.Size = 14 '11
.Color = &HFF00FF 'BGR
.Name = "MS ゴシック" '"MS 明朝"
End With
DoEvents
Next
この回答への補足
早速の回答ありがとうございます。
教えていただいたコードでマクロをかけてみました。
シート内にテキストBOXが25個ありまして、
マクロをかけると「25」とメッセージBOXが出てきました。
その後、フォントが変換されるはずなんですが、変換されたのとされないのがありました。
変換されないのは図形(オートシェープ)のテキストだからでしょうか?
その場合はどのようにすれば変換されますか?
すいませんが教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- プリンタ・スキャナー 平成明朝体について お世話になります。 自分の好みで、ワードで文書を作るときはMS明朝ではなく、HG 1 2023/05/29 20:44
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Excel(エクセル) プログラムコードをシートに張り付けると入力BOXが出てきて困ります。 2 2022/09/10 03:08
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数式中の文字をCambria Math以...
-
VBAでpng画像に文字列を描画す...
-
VB2008 LabelやButtonのTextを...
-
word
-
illustratorとExcelは連携出来...
-
イラレの古いバージョンのファ...
-
PowerPoint SmartArtの箇条書...
-
Excel VBAで改行を含む文字列を...
-
名古屋の栄と錦は治安悪い?
-
Publisherをエクセルファイルに
-
フォトショップで文字に遠近感...
-
サクラエディタで二つのテキス...
-
Illustratorテキストエリアへ塗...
-
フォトショップで複数テキスト...
-
テキストのリンク文字にカーソ...
-
アクセスのOR検索
-
ファーストピアスのキャッチが...
-
ブログに音楽プレイヤーを設置...
-
PDF-XChange Viewer のタイプラ...
-
Accessテーブルの結合で別々の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数式中の文字をCambria Math以...
-
DOSテキスト形式とは?
-
VBA超初心者です。
-
VB2008 LabelやButtonのTextを...
-
vbaで、オートシェイプ文字列、...
-
DataGridViewでセル内の特定の...
-
TCPDFの多言語について
-
Outlook2013のフォントについて
-
xmlからMCを作成して回転させた...
-
VBAでpng画像に文字列を描画す...
-
エクセル テキストBOXのフォント
-
電話のマークが打てません。
-
アンチエイリアスなしのフォント
-
【Excel2003】テキストBOXを認...
-
LibreOfficeのフォントワークの...
-
テキストフィールドを半透明に...
-
UIコンポーネントのTextareaの...
-
パワポにて、フォントのデフォ...
-
リッチエディットの独自描画で...
-
テキスト情報が生きたPDF作成を...
おすすめ情報