教えて!gooを参照した上で質問させて下さい。

『様』を文字の後に付けたいのですが、フォントサイズを一回り小さく付けたいのです。どうすればよいでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (6件)

マクロで、実行できたのでしたら、前回のマクロと入れえ換えてみてください。


(別に、前回のものを残しておいても、問題はありませんが。)

使用法:最初に、マウスで変換する部分を大雑把に選んでおいてから、ツール-マクロ-マクロ-[シート名]SamaAddingをクリックしてみてください。
式以外のものは、全部、「様」をつけてしまうマクロです。
語尾に「様」がついていれば、「様」のフォントサイズだけを1ランク下げます。

Sub SamaAdding()
 Dim Rng As Range
 Dim c As Range
 Set Rng = Selection 'マスウで入力範囲を選択
 Application.ScreenUpdating = False
 For Each c In Rng
  With c
   If Not .HasFormula And _
    Right(c.Value, 1) <> "様" Then '数式でなくて、様がついていなければ
    .Value = .Value & "様" '様をつけて
   End If
   .Characters(Start:=Len(.Value), Length:=1).Font.Size = _
   .Font.Size - 1 'セルのフォントサイズより1つ下のサイズ
  End With
 Next c
 Application.ScreenUpdating = True
End Sub

なお、最初から範囲が決まっていたら、
Set Rng = Range("A1:A500") としたら、マスウ選択は必要ありません。

この回答への補足

ご回答ありがとうございます。だいぶ私の思っている仕様に近づいたのですが、マクロを扱ったことがありませんので、応用が全くできません。そのため、実際に私が行いたいことを述べます。「 "さま"を付けて、セルのフォントサイズより20下のサイズで表示」以上のことができますでしょうか?宜しくお願いします。

補足日時:2005/04/17 22:20
    • good
    • 0
この回答へのお礼

ご教授いだたいた方法を試してみましたが、これはマクロを実行することで初めて表示されるものなのでしょうか?入力した時点で自動で変換されると嬉しいのですが・・・お礼の投稿で申し訳ありませんが、他に方法がありましたら、ご教授下さいませ。

お礼日時:2005/04/18 00:08

#4 #5 に 


入力した時点で自動で変換される
実際に私が行いたいこと
「 "さま"を付けて」
「セルのフォントサイズより20下のサイズで表示」
(#4 ダブルクリック)マクロでは「他の入力」が出来ません。
を検討してみました。


(#4 ダブルクリック)マクロの代わりに
シートのモジュールに貼り付ける。

操作:入力を確定 ENTER するとそのセルに対して処理
   アルファベット、半角文字、数字を含む入力は 名前で無いので
  「他の入力」と判断して 処理しない
  「他の入力」は不明なので判断できない

 例 山田1 ENTER ⇒ 山田1(処理せず)
   山田a ENTER ⇒ 山田a(処理せず)
  山田様  ENTER ⇒ 山田様さま (さまは小さく)
  フォントサイズは 0以上なので 少し細工をしました。 


Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
With Target
セルの内容 = Replace(.Value, " ", "", 1, -1, vbTextCompare)
'すべて全角文字で 数字を含まない場合 名前 とみなす
If Not セルの内容 Like "*#*" And 0 < Len(セルの内容) And _
セルの内容 = StrConv(セルの内容, vbUpperCase Or vbNarrow) And _
セルの内容 = StrConv(セルの内容, vbLowerCase Or vbWide) Then



'実際に私が行いたいこと・・「 "さま"を付けて」
敬称 = "さま"

.Value = .Value & 敬称

If 30 < .Font.Size Then
'セルのフォントサイズより20下のサイズ
.Characters(Start:=Len(.Value) - Len(敬称) + 1, _
Length:=Len(敬称)).Font.Size = .Font.Size - 20
Else
'セルのフォントサイズの70%
.Characters(Start:=Len(.Value) - Len(敬称) + 1, _
Length:=Len(敬称)).Font.Size = Int(.Font.Size * 0.7) + 1
End If

End If
End With
Application.EnableEvents = True
End Sub

この回答への補足

ご回答ありがとうございます。かなり期待のできる内容のようですが、初心者であるため、どう設定したらよいのか分かりません。シートの標準モジュールに

ここから
Private Sub Worksheet
(中略)
End Sub
ここまで

貼り付けたらよいのでしょうか?
ぜひ補足をお願いします。

補足日時:2005/04/18 19:05
    • good
    • 0
この回答へのお礼

御礼が大変遅くなりましたが、期待していた通りの結果を出すことが出来ました。ずっと悩んでいただけに大変感謝の気持ちで一杯です。

お礼日時:2005/08/28 15:57

「様」まで入力した後に、F2 を押すか、数式バーのところで、「様」だけをドラッグして、右クリック-セルの書式設定で、1ランク、サイズを小さくすればよいのではありませんか?



マクロでしたら、以下のようにすれば、ダブルクリックすれば、自動的に、「様」がついてフォントサイズを1ランク下に換わります。
ワークシートの画面下の「Sheet1/Sheet2/...」のタブのところで、該当するシートを右クリックして、「コードを表示」をクリックして、以下を貼り付ければよいです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
                    Cancel As Boolean)
'ダブルクリックで様をつける
With Target
   .Value = .Value & "様" '様をつけて
   .Characters(Start:=Len(.Value), Length:=1).Font.Size = _
   .Font.Size - 1 'セルのフォントサイズより1つ下のサイズ
End With
End Sub

この回答への補足

早速の回答、ありがとうございます。右クリック-セルの書式設定でサイズを小さくすれば済む話ではあるのですが、数が多いので自動的にならないかと思っています。また、教えていただきましたマクロでは他の入力が出来ません。

補足日時:2005/04/17 09:37
    • good
    • 0

マクロを使ったり,関数を使ったり,色々方法はありますが,いちばん手っ取り早いのは,



様を付けたいセルまたは列を選択
右クリック→セルの書式設定
分類を「ユーザ定義」にして,「種類」の「G/標準」となっている部分を消して「@"様"」と書けば良いです。

この回答への補足

回答ありがとうございます。そこまでは過去ログ見て分かったのですが、その自動入力した「様」のフォントを一回り小さくしたいのです。どうにかなりませんでしょうか?

補足日時:2005/04/17 09:35
    • good
    • 0

#1です。


あっ、ホントだ!(^^)同一セル内にいろんなフォントになりますね!
失礼しましたー。

セルを挿入した場合、挿入したセルの文字を「左揃え」にしてみてはどうでしょう?
(質問の意図を吐き違えていたらごめんなさい)

この回答への補足

左揃えの「様」はその左のセルの一番右に表示されるだけなので、結局は間が出来てしまいます。

補足日時:2005/04/17 05:26
    • good
    • 0

「列」に1列挿入して、「様」を入力する。


同一セル内のフォントは1サイズのみ、だったと思いますよ。

この回答への補足

列を増やしてしまうと、名前のすぐ隣に「様」がこない場合があると思います。また、同一セル内にいくつものフォントを混在させることは出来ました。素早い回答ありがとうございます。

補足日時:2005/04/17 04:18
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング