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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
小数点以下の数字だけ小さいフォントで表示
Excel(エクセル)
-
EXCEL 小数点以下を小さいフォントの文字で・・
Excel(エクセル)
-
Ecxelで少数を入力するときにフォントを変えたい
Excel(エクセル)
-
-
4
EXCELにて、整数と小数点を色分けしたい
その他(ソフトウェア)
-
5
セルの書式設定で一部のフォントサイズを変更したい
その他(Microsoft Office)
-
6
小数点以下の桁数を入力データに応じて設定する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
太字に設定されているセルの個...
-
クリックすると文章が表示され...
-
現在のセルの位置を返す関数は...
-
Excelでセルをクリックす...
-
マクロを実行すると画像がズレ...
-
Excel ハイパーリンクのURLを別...
-
Excel2007 色のカウント (VBA)
-
エクセル 行列を入れ替えてオ...
-
選択したセル範囲に入っている...
-
未記入がある場合はマクロを実...
-
エクセルシート内のある数値以...
-
[EXCEL] フォント変更が正常に...
-
EXCEL プルダウンから指定セル...
-
エクセルのSUM関数について
-
セル背景や文字を点滅させる方法
-
エクセル マクロ 相対パスか...
-
アポストロフィーの一括挿入 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelでセルをクリックす...
-
Excelで、図形内の文字をセルに...
-
Excel ハイパーリンクのURLを別...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
セルがクリックされた回数をカ...
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
ページ内ハイパーリンクの表示...
-
【EXCEL】先週の月曜日の日付を...
-
エクセルでページ数をあるセル...
-
Excel2007 色のカウント (VBA)
おすすめ情報