掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
エクセルで綺麗に表示するには? (ID:77623)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
まず、マイナス値のときは△+24文字、プラスのときは24文字のみ という点でずれが生じているはずです。 次に、セルの書式設定を標準のままにして行っている場合、 マイナス値は”△”+空白+数値のレイアウトなので、 文字型として認識し、左詰めで表示されると思いますが、 プラス値の場合には空白+数値のレイアウトなので、 数値型として認識し、右詰めで表示されると思います。 ここでも表示上のずれが発生します。 で、対応方法ですが、 >Formatを使って通貨型に ということなのですが、マイナス値のときに”△”は左詰めで、 間に空白を置いて数値部分は右詰めという書式を通過型(数値型)で 実現するのは難しいと思うので文字型での出力になると思います。 #実現方法ご存知の方いればRESお願いします '================================================================ Hkei = csv.Cells(行ナンバー, i + 4) If Sgn(hkei) = -1 Then 'マイナス値の場合 Hskei = "△" & Right(Space(24) & Format(Abs(hkei) / 1000, "#,##0"), 24) Else 'プラス値の場合 Hskei = " " & Right(Space(24) & Format(hkei / 1000, "#,##0"), 24) End If '出力セルの書式設定を文字列型にする 用紙.Cells(行, i).NumberFormatLocal = "@" 'データ出力 用紙.Cells(行, i) = Hskei '================================================================ ただ、このやり方だとデータは文字列型になり、数値としての演算が 面倒になります。 自分なら、可能であれば出力セルを符号部と数値部の2列に分けると思います。 '================================================================ Hkei = csv.Cells(行ナンバー, i + 4) 用紙.Cells(行, i).NumberFormatLocal = ";""△"";" 用紙.Cells(行, i+1).NumberFormatLocal = "#,##0;#,##0;#,##0" 用紙.Cells(行, i) = hkei / 1000 用紙.Cells(行, i+1) = hkei / 1000 '================================================================ この場合表示に2セル必要になりますが、数値として扱えるので後に演算処理が ある場合に楽になります。参考までに。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.