No.3ベストアンサー
- 回答日時:
No.2です。
>マクロの中で、計算しその結果に対して表示を変えたいのですが
の件について・・・
当然コード内にワークシート関数を記載すれば可能ですが、
セル内のフォントを部分的に変えたい場合、生データにし、なおかつ「文字列」にする必要があります。
計算結果を「値」として表示させれば可能になります。
ただし、数式そのものが消えてしまいますので、一度きりの操作になってしまいますよね?
前回のコードそのものが1セルだけのChangeイベントです。
おそらく数式を入れる場合複数セルに入れる場合が多いと思います。
すなわち前回のコードでは不向きだと思います。
別案として、一旦数式によって計算結果を表示させ
ご自身で操作したいセルを範囲指定 → マクロ実行 といった流れの方が理に適っていると思います。
そこで今回は一旦数式によって表示されている計算結果の小数点以下の数値を操作するコードにしてみました。
前回同様シートモジュールに↓のコードをコピー&ペースト → Excel画面に戻り
文字操作をしたいセルを必ず範囲指定した後(←重要)にマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
※ 前回は文字列にも対応できるようにしていましたが、今回は計算結果は数値だという前提です。
Sub Sample1() 'この行から
Dim k As Long, str As String, c As Range
For Each c In Selection
str = c.Value
If InStr(str, ".") > 0 Then
Application.EnableEvents = False
k = InStr(str, ".") + 1
c.NumberFormatLocal = "@"
c.HorizontalAlignment = xlRight
c = str
With c.Characters(Start:=k, Length:=Len(c)).Font
.Size = 9
.ColorIndex = 3
End With
Application.EnableEvents = True
End If
Next c
End Sub 'この行まで
※ 一旦マクロを実行した後、範囲指定したセルの表示形式が「文字列」になっていて
右寄せになっているので注意してください。m(_ _)m
No.2
- 回答日時:
こんにちは!
VBAになってしまいますが、一例です。
>一つのセル内に少数点以下を表示させた時・・・
とありますが、数式によって表示されたデータでは変化しません。
あくまでご自身で手入力するとします。
A列限定としてみました。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り、A列にデータを入力してみてください。
Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim k As Long, str As String
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
.NumberFormatLocal = "G/標準"
.HorizontalAlignment = xlLeft
If IsNumeric(.Value) Then
.HorizontalAlignment = xlRight
str = .Value
If InStr(str, ".") > 0 Then
Application.EnableEvents = False
.NumberFormatLocal = "@"
k = InStr(str, ".") + 1
.Value = str
With .Characters(Start:=k, Length:=Len(.Value)).Font
.Size = 9 '←サイズは好みで!
.ColorIndex = 3 '←赤
End With
Application.EnableEvents = True
End If
End If
End With
End Sub 'この行まで
※ フォントサイズ・フォント色は好みで変えてください。
※ セル左上に「エラーチェックオプション」の三角マークが表示されると思いますが
目障りであれば(Excel2007以降をお使いの場合)
画面左上の丸いOfficeボタン(Excel2010以降は「ファイル」)→ Excelのオプション(オプション)
→ 数式 → 「エラーチェック」の「バックグラウンドでエラーチェックを行う」の
チェックを外しておきます。m(_ _)m
回答頂いたコードで
手入力により、思いとうりの結果が出ました
ありがとうございます
VBA初心者なのではっきり理解できていないのですが
マクロの中で、計算しその結果に対して表示を変えたいのですが
このコードをアレンジすることで可能なんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/03/16 11:19
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
小数点以下の数字だけ小さいフォントで表示
Excel(エクセル)
-
EXCELにて、整数と小数点を色分けしたい
その他(ソフトウェア)
-
EXCEL 小数点以下を小さいフォントの文字で・・
Excel(エクセル)
-
-
4
Ecxelで少数を入力するときにフォントを変えたい
Excel(エクセル)
-
5
セルの書式設定で一部のフォントサイズを変更したい
その他(Microsoft Office)
-
6
小数点以下の桁数を入力データに応じて設定する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
太字に設定されているセルの個...
-
Excelで挿入した図をセルの中央...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
エクセルでの検索ボックスの作...
-
【EXCEL】先週の月曜日の日付を...
-
アポストロフィーの一括挿入 ...
-
フォントの色を指定して削除出...
-
シート保護とグループ化機能を...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
excelで セルの移動時に...
-
マクロを実行すると画像がズレ...
-
クリックすると文章が表示され...
-
空白セルを空セルに置き換える...
-
VBA 見つからなかった時の処理
-
現在のセルの位置を返す関数は...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
Excel ハイパーリンクのURLを別...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
VBA 見つからなかった時の処理
-
エクセルでの検索ボックスの作...
-
エクセル 未入力セルがあると...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
【EXCEL】先週の月曜日の日付を...
-
EXCELのセルや文字色の反映
-
セルがクリックされた回数をカ...
おすすめ情報