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) と表示されます。




関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3066474 - 最終更新日: 09/29/2016 12:22:00 - リビジョン: 4.0

Microsoft Excel 2013

  • KB3066474
フィードバック