29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Excelで「表示形式」のセル書式が反映されない場合の対処法

Last updated at Posted at 2014-12-03

TSVなどのデータをExcelに貼り付ける場合、勝手にデータが変更されないように(0001が1になるなど)、セルの書式設定で表示形式を「文字列」にしてから貼り付けることが多い。

以下は「文字列」で貼り付けた例。文字が左に寄っていることからもそれがうかがえる。(設定によっては緑三角が見える?)

p1.PNG

しかし、idなどの情報は数字として扱いたい。なぜなら「文字列」として貼ってある状態でソートすると辞書順になってしまうから。(1、10、2のように並んでしまう)

貼る前の段階でそういう書式設定にしていれば問題ないのだが、数字として扱いたい列が複数ある場合は、まず貼り付けてからそれを行った方が楽。
しかし、Excelは既にデータがある状態で表示形式を変えても、反映されないことがある。。

以下のように「文字列」表示形式で貼り付けたものを、「標準」表示形式に変えても、見た目やソートの扱いは文字列のまま。。

p2.PNG

この場合、一度F2を押してセルの中に入り、エンターを押すと現在の書式を適用させることは出来る。(自分はこれを「セル内容の再確定」と呼んでいる)
しかし、その対象が多いと非常に手間。

以下のVBAモジュールを作成し、書式を適用したいところを選択状態にして実行すると、それを一括で行うことが出来る。

Sub reconfirm()
    For Each e In Selection
        e.Value = e.Value
    Next
End Sub

実行後、以下のようになり、「標準」表示形式が適用されたことが分かる。

p3.PNG

29
28
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?