Excel 2010 で ActiveX コントロールが挿入されたシートで [すべての改ページを削除] すると Excel が動作を停止する場合がある

現象
Microsoft Excel 2010 において、シートの表示倍率が 100% 以外である場合に、ActiveX コントロールが挿入されたシートで [すべての改ページを削除] すると Excel が動作を停止する場合があります。
この現象は OS のバージョンには依存せず、Excel 2010 で発生します。
原因
改ページを解除するときに行われるコントロールの描画情報の生成処理中に、ActiveX コントロールを処理する Forms 2.0 のモジュールで、内部で不正な演算 (0 除算) を実行しているために強制終了が発生します。
解決方法
この現象を解決するには、以下の Excel 2010 修正プログラム パッケージを適用し、且つ後述のレジストリを追加してください。

2598144 Description of the Excel 2010 hotfix package (Excel-x-none.msp): April 24, 2012

レジストリ キー情報
重要 : このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを編集する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしておくと、問題が発生した場合にレジストリを復元することができます。バックアップおよび復元方法の詳細を参照するには、以下のサポート技術情報をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
修正プログラム パッケージをインストールした後、以下の手順を実行して修正プログラムを有効にします。
  1. Office アプリケーションを実行している場合は、終了します。
  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
  3. 次のレジストリ サブキーを見つけてクリックします。

    HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options
  4. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。
  5. 「MultiSheetPrint」と入力して、Enter キーを押します。
  6. 「MultiSheetPrint」を選択して [編集] メニューの [修正] をクリックします。
  7. [値のデータ] を 1 に変更して [OK] をクリックします。
  8. レジストリ エディターを終了します。


回避策
[すべての改ページを削除] する前に、シートの表示倍率を 100% に設定してください。

以下は、マクロでの回避策の一例となります。

Sub Macro1()
    Range("C5").Select
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
    ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=ActiveCell

    ' --- 回避策 : ここから ---
    ' 現在のシートの表示倍率を退避して、100% に変更します。
    Dim varZoom As Variant
    varZoom = ActiveWindow.Zoom
    ActiveWindow.Zoom = 100
    ' --- 回避策 : ここまで ---

    ' すべての改ページを削除します。
    ActiveSheet.ResetAllPageBreaks

    ' --- 回避策 : ここから ---
    ' 元のシートの表示倍率に戻します。
    ActiveWindow.Zoom = varZoom
    ' --- 回避策 : ここまで ---
End Sub
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
問題の再現手順
  1. Excel 2010 を起動します。
  2. [開発] タブの [挿入] から [コンボ ボックス (ActiveX コントロール)] を選択し、A1:D2 のセル範囲に収まるような大きさでコンボ ボックスを配置します。
  3. シートの表示倍率を 75% に設定します。
  4. C5 セルを選択して、[ページレイアウト] タブの [改ページ] から [改ページの挿入] をクリックします。
  5. [ページレイアウト] タブの [改ページ] から [すべての改ページを削除] をクリックします。
結果
「Microsoft Excel は動作を停止しました」というメッセージが表示され、Excel が動作を停止します。 

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

文書番号:2698603 - 最終更新日: 01/11/2013 08:16:00 - リビジョン: 1.1

Microsoft Excel 2010

  • kbtshoot kbexpertisebeginner kbexpertiseinter KB2698603
フィードバック