![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんにちは。
マクロやVBAの知識が乏しいため非常に困っています。
エクセルにてシート(1)から
文字をとっているシート(2)があるのですが
文字数が多くなるとシート(2)のほうがセルからはみ出てしまいます。
そこで文字数でフォントサイズを変更したいと考えました。
19文字以上ならサイズを14に。。という具合に自動でできるコードを
ご教授願えないでしょうか?
よろしくお願いします。
また、それ以外に良いものがあればそれを採用したいとも考えています。
以下条件になります。
シート(1)のA1の文字が15文字以下ならシート(2)のB2のサイズを18に
シート(1)のA1の文字が16文字以上ならシート(2)のB2のサイズを16に
シート(1)のA1の文字が19文字以上ならシート(2)のB2のサイズを14に
No.4ベストアンサー
- 回答日時:
こんにちは。
実際のシートの作動はもう少し複雑だろうとは思いますが、質問に対しては、このようなコードです。
''シートモジュール(シートタブ-右クリック-コードの表示)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sTxt As String
Dim fnt As Integer
Dim opRng As Range
Set opRng = Worksheets(2).Range("B2") '対象のセル
If Target.Address <> "$A$1" Then Exit Sub 'A1以外は除外
If Target.Count > 1 Then Exit Sub '複数のセルの時除外
If Target.Value = "" Then Exit Sub '空白または削除では作動しません。
If opRng.Value = "" Then Exit Sub '対象セルに文字がなければ、実行しません。
sTxt = Range("A1").Value
Select Case Len(sTxt)
Case Is >= 19: fnt = 14
Case Is >= 16: fnt = 16
Case Is >= 1: fnt = 18
End Select
opRng.Font.Size = fnt
End Sub
No.3
- 回答日時:
そこまでしなくても、該当のセルを選んで右クリック→セルの書式設定→配置タブの「縮小して全体を表示する」にチェックを入れればよいです。
No.2
- 回答日時:
Excelマクロの入門書を何か1冊入手されるとよいです。
もしくは同様の学習Webサイトですね。
Googleなどで「VBA フォントサイズ」とか「VBA フォントサイズ 取得」とか「VBA フォントサイズ 変更」といった簡単なキーワードで検索すると説明サイトの該当ページやVBAサンプルを紹介しているサイトの該当ページがヒットするはずです。
お試しください。
それで意図したページが見つかった場合はそのページにあるHOMEといったリンクをクリックするとホームページへ飛び、どのような内容のサイトかがわかります。勉強するのに役立ちそうなサイトでしたらBookmarkして利用されるとよいです。
同様に「VBA 入門」といったキーワードで勉強によさげなサイトを探すのも方法です。
個人的には本が参照性が高く便利とは思いますが。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) フォルダ内のファイル全てに対して、シート名・ファイル名を変更する方法(マクロ VBA) 2 2022/04/02 10:56
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) シート名を簡単に書く方法があれば教えてください。 4 2023/08/24 12:40
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAで条件によりフォントサイズを自動で変更したい2
Excel(エクセル)
-
セルの書式設定のフォントやサイズの設定はできないの
Excel(エクセル)
-
セルの条件によってフォントサイズを変更したい。
Excel(エクセル)
-
-
4
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
5
エクセルで折り返しと縮小の同時設定は無理?
Excel(エクセル)
-
6
エクセル関数について(フォントサイズ変更)
Excel(エクセル)
-
7
Excelのセルのフォントサイズを自動調整
Visual Basic(VBA)
-
8
エクセルでセルのフォントサイズを取得する関数?
Excel(エクセル)
-
9
セルは大きくさせず、中の文字だけ大きくしたい
Excel(エクセル)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
エクセルでシート参照する場合、同じフォントサイズは出来ますか
Excel(エクセル)
-
12
Excelで条件付き書式によるフォント設定
Excel(エクセル)
-
13
Excelで、行数に合わせて文字を拡縮できる?
Excel(エクセル)
-
14
excel:条件付きでセルの文字サイズを変える方法は?
Excel(エクセル)
-
15
Excelでの名前定義に空白を使いたい
Excel(エクセル)
-
16
Excel VBAで文字列の可視長を得るにはどうしたよいでしょうか?
Visual Basic(VBA)
-
17
関数で抽出したセルの一部の文字を変更したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのツールバーから数値...
-
祝日と土曜、日曜の合計をカウ...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
Excel分数の表示について
-
Excelで表を作ったところに文字...
-
マクロエクセルのブロック解除
-
文字2桁、3桁交じりの文字列...
-
絶対参照
-
Excelについての質問です。 B2...
-
在庫管理表に使うエクセルの関...
-
【マクロ】VLOOKUPにて参照元に...
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
ユーザー定義関数をアドイン登...
-
エクセルでの作業計算方法について
-
行数が不規則な一週間ごとの合...
-
Excelピボットテーブルの1行目
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報