[[20140404152537]] 『UFClr1228の不具合』(matsudesk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『UFClr1228の不具合』(matsudesk)

UFClr1228のアドインを有効にしていると、セルの結合を右クリックでセル書式設定の配置で結合を行うとExcelの動作が停止する。
メニューバーのホームの結合のアイコンで実施すと問題はありません。
原因は解決方法は?

< 使用 Excel:Excel2013、使用 OS:Windows8 >


現象を確認しました、調べてみます。
(kazu) 2014/04/04(金) 20:59

いろいろな環境で試してみました。
Windows8.1、Excel2013、発生
Windows7、Excel2010、発生
Windows7、Excel2007、発生しない
WindowsXP、Excel2003、発生しない

UFClr1228 の中では何もややこしい事はしていないと思うのですが、
どうも Windows7 以降、Excel2010 以降、 VBAのバージョン7から問題が発生するようです。

[ツール]メニュー→[参照設定] で Visual Basic For Application のバージョンを変えてみようと思ったのですが、
バージョンを切り替えられないですね、確かに自分自身だし。

はて困りました、どなたかアドバイスをおねがいします。

Option Explicit
Sub Auto_Open()
' 2004/03/22 sm,cv のInteger 型を Variant 型に変更
' 2013/12/28 [F9]で再計算させるためApplication.Volatile を追加

Dim m As Integer, mc As Integer

    mc = MenuBars(xlWorksheet).Menus.Count
    For m = 1 To mc
        If MenuBars(xlWorksheet).Menus(m).Caption = "Clr" Then
            Exit Sub
        End If
    Next m
    MenuBars(xlWorksheet).Menus.Add Caption:="Clr"
    MenuBars(xlWorksheet).Menus("Clr").MenuItems.Add Caption:="再計算", OnAction:="USClrReCalc"
End Sub

 - - - - - 省略 - - - - -

Public Function UFClrSumfc(adrs, clr)
' 特定色の文字色の合計
Dim sm As Variant, cv As Variant, fci As Integer, ad As Range

  sm = 0
  Application.Volatile
   For Each ad In adrs
    fci = ad.Font.ColorIndex
    cv = ad.Value
    If fci = clr Then
     sm = sm + cv
    End If
   Next
 UFClrSumfc = sm
 End Function

Public Function UFClrCntfcx(adrs)
' 色のついた文字の数
Dim sm As Variant, cv As Variant, fci As Integer, ad As Range

  sm = 0
  Application.Volatile
   For Each ad In adrs
    fci = ad.Font.ColorIndex
    If fci <> -4105 Then
     sm = sm + 1
    End If
   Next
 UFClrCntfcx = sm
 End Function

 Public Function UFClrfc(adrs)
 Dim ad As Range
    Application.Volatile
    UFClrfc = adrs.Font.ColorIndex
 End Function
 Public Function UFClrcc(adrs)
 Dim ad As Range
    Application.Volatile
    UFClrcc = adrs.Interior.ColorIndex
 End Function

 Public Sub USClrReCalc()
 Application.CalculateFull

 End Sub

(kazu) 2014/04/05(土) 01:20


 だからどうなのか、よくわかりませんが
 ↓のページはご覧になられましたか?
http://daigorosan.blog129.fc2.com/blog-entry-131.html
 状況は違う様ですが。。。

 こちらの試行としては

 Windows7、Excel2010
 UFClrSumfc のコードだけ入れて
 C1セルに =UFClrSumfc(A1:A5,1) の式を入力。

 セルを結合すると、動作停止しますが

 「Application.Volatile」をコメントアウトして
 上書き保存・一旦終了・再度立ち上げ・再計算後
 セルの結合をしても、動作停止しませんでした。

 「On Error Resume Next」を入れておいても
 再計算後は セルの結合をすると動作停止しましたので
 また違った状況の様にも思えますが。

 動作報告まで。
  
(HANA) 2014/04/05(土) 10:49

[matsudesk]さんには迷惑をかけ申し訳ないと思っています。

[HANA] さんヒントをありがとうございます。

実は関数の =UFClrxxx() が入力されていないどのセルの結合でも
「Microsoft Excel は動作を停止しました...APPCRASH」になります。

試してみましたが、
Application.Volatile がなければ正しく動き、
Application.Volatile の前に On Error Resume Next で正しく動きます、
Application.Volatile の前に On Error Goto err でエラーの表示処理をしませんが正しく動きます

思うに、エラーが発生しているのではなく、
Application.Volatile の前にOn Error Resume Next を書く事で何か状況が変わるようです。

Application.Volatile をなくす方向へ向こうかなと思っています。

もう少し調べてみます。

(kazu) 2014/04/05(土) 15:12


Application.Volatileを削除して使ってみると正しく動作しました。
有難うございました。
(matsudesk) 2014/04/06(日) 16:47

[matsudesk]さん、返答ありがとうございます。
ただ、Application.Volatile を削除すると、
セルの色や文字色だけ変更した場合用の[F9]キーでの再計算ができないので、
どう対策するか悩んでいました。
Application.Volatile を使わないで[F9]キーで再計算する対策版を今日中にアップします。
少しお待ちください。
(kazu) 2014/04/06(日) 17:22

遅くなりましたが、
UFClr1228 でExcelが動作を停止してしまう問題の改訂版、
UFClr20140404 をアップロードしました。
Application.Volatile の変わりに、OnKey を使って [F9]キー の処理を行うように変更しました。

https://www.excel.studio-kazu.jp/DL/UFClr/UFClr20140404.lzh

可能ならダウンロードしてUFClr1228 をUFClr20140404 に切り替えて
結果を報告頂けるとありがたいです。

(kazu) 2014/04/06(日) 22:23


すみません、もう少し待ってください。ぽかミスが
(kazu) 2014/04/06(日) 22:26

差し替えました、よろしくお願いします。

https://www.excel.studio-kazu.jp/DL/UFClr/UFClr20140404.lzh
(kazu) 2014/04/06(日) 22:35


UFClr20140404 を使ってみました。
問題なく動作しました。
有難うございました。
この不具合がUFClr1228が原因だと特定出来たのは、マイクロソフトテクニカル サポート
に問い合わせって解ったものです。
(matsudesk) 2014/04/07(月) 20:59

[matsudesk]さん、結果の報告ありがとうございます。
やはり原因の特定に難儀したのですね、申し訳なかったです。
これに懲りず、「エクセルの学校」を使っていただきたいです。
(kazu) 2014/04/07(月) 21:15

今回の件をなんでもありBLOG「MicroSoft Excelは動作を停止しました」に纏めました、
もし興味がある方はご覧下さい。
http://naka1948.wordpress.com/2014/04/07/excel_appcrash/

(kazu) 2014/04/07(月) 21:15


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.