Excel 2013 の VBA でファイルの保存し、再度ファイルを開きなおすとセルの書式が引き継がれない

現象

Microsoft Excel 2013 の VBA でファイルを保存し、再度ファイルを開きなおすとセルの書式が引き継がれません。

原因

この現象はマクロが実行されるとき、Excel のロケールが一時的に英語となることに起因して発生します。

回避策

この現象を回避するには、Excel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存する際に、True を指定します。

  1. Excel 2013 を起動し、新しいブックを作成します。

  2. Alt キーと F11 キーを押して、 Visual Basic エディターを開きます。

  3. [挿入] メニューの [標準モジュール] をクリックします。

  4. 新しいモジュールに次のコードを入力します。

      Sub  Book_Save()
    Dim xlBook As Workbook
    Set xlBook = Workbooks.Open("C:\work\Book1.xlsx")

    xlBook.SaveAs Filename:= xlBook.FullName, local:=True
    xlBook.Close
      End Sub


状況

マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。

詳細

問題の再現手順

  1. Excel 2013 を起動し、新しいブックを作成します。

  2. セル A1 に値 -1234 を入力します。

  3. セル A1 の書式を、以下の設定に変更します。
      分類 : 通貨
      負の数の表示形式 : 黒色の -\1,234 

  4. ファイルを保存します。
     ここでは例として、"C:\work\Book1.xlsx" として保存します。

  5. ファイルを閉じます。

  6. Excel を起動し、新しいブックを作成します。

  7. Alt キーと F11 キーを押して、 Visual Basic エディターを開きます。

  8. [挿入] メニューの [標準モジュール] をクリックします。

  9. 新しいモジュールに次のコードを入力します。

      Sub  Book_Save()
    Dim xlBook As Workbook
    Set xlBook = Workbooks.Open("C:\work\Book1.xlsx")

    xlBook.Save
    xlBook.Close
      End Sub
  10. Alt キーと F11 キーを押して、Excel に切り替えます。

  11. [開発] タブで [マクロ] をクリックします。Book_Save をクリックし、[実行] をクリックします。

  12. Book1.xlsx を開きます。


結果

セル A1 に (\1,234) と表示されます。
alternate text



ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×