[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロのクリア対象が入力規則である場合のエラー』(練乳)
お世話になっております。
excel2003 Windows Vistaです。
入力フォーム(シート)があり、そこに入力したテキストや値が別シートに登録・更新できるマクロがあります。(検索で入力フォームに読み込むこともできます。)
そして、入力フォームクリアというボタンもあります。
入力フォームに入力したデータをクリアするマクロですが、
入力フォームのセルに、入力規則でリストを作成した場合、
保存するときにエラーが出ます。
『保存するファイル形式で利用できない関数が含まれているため、セルの数式を変換できませんでした.........』
無理矢理続行すると保存でき、データ的に支障はないのですが、エラーが出ないようにできないでしょうか??
ちなみに、2010ではこのエラーは出ませんでした。
(必要に迫られ、2003で作成しなおしております。)
参考に、コードを部分的に抜粋しておきます。
以上、宜しくお願い申し上げます。
Option Explicit Const 入力フォーム_IDセル = "B6" '//--------------------------------------------------------------------------- Function セル対応() '//--------------------------------------------------------------------------- セル対応 = Array( _ Array("A", "B6"), Array("B", "B7"), Array("C", "B8"), Array("D", "B9"), Array("E", "B11"), _ Array("G", "B12"), Array("I", "B13"), Array("J", "B14"), Array("K", "B15"), Array("L", "B16"), _ Array("M", "B17"), Array("N", "B18"), Array("O", "B19"), Array("P", "B20"), Array("Q", "B21"), _ Array("R", "B22"), Array("S", "B23"), Array("T", "B24"), Array("U", "B25"), Array("V", "B26"), _ Array("W", "B27"), Array("X", "B28"), Array("Y", "B29"), Array("Z", "B30"), Array("AA", "B31"), _ Array("AB", "B32"), Array("AC", "B33"), Array("AD", "B34"), Array("AE", "B35"), Array("AF", "B36"), _ Array("AG", "B37"), Array("AH", "B38"), Array("AI", "B39"), Array("AJ", "B40"), Array("AK", "B41"), _ Array("AL", "B42"), Array("AM", "B43"), Array("AN", "B44"), Array("AO", "B45"), Array("AP", "B46"), _ Array("AQ", "B47"), Array("AR", "B48"), Array("AS", "B49"), Array("AT", "B50"), Array("AU", "B51")) End Function '//-------------------------------------------------------------------------------- Private Sub 入力フォームクリア() '//-------------------------------------------------------------------------------- Dim 前の状態 前の状態 = Application.ScreenUpdating Application.ScreenUpdating = False Dim セル位置 For Each セル位置 In セル対応() Worksheets("入力フォーム").Range(セル位置(1)).ClearContents Next Application.ScreenUpdating = 前の状態 End Sub
追記ですが、マクロは正常に働いています。
2003の環境が無いので、よくわからないのですが >保存するファイル形式で利用できない関数が含まれている って事は、2003の環境では使えない設定があるって事では?
でしたら、それを解消するのがあるべき姿じゃないかと思いますが。。。 2003で使うのですよね?
それから、「マクロだからエラー」なのか「マクロでなくてもエラー」なのか どちらなんでしょう? 後者の様な印象がありますが。
(HANA)
コメントありがとうございます。
『マクロだからエラー』なのかと思います。
コメントを頂き、色々考えさせていただきましたところ、
エラーが出るのであれば、『入力規則以外での記入方法を考えればいい』
と思いました。
ご教授ありがとうございました。
>『マクロだからエラー』なのかと思います。 ちょっと不明瞭な表現に感じます。 実際に手作業にて、そのファイル形式で保存してみれば、 ハッキリ言えることではないですか?
(半平太) 2013/05/17(Fri) 16:20
>参考に、コードを部分的に抜粋しておきます。 で載せられているコードが、「入力フォームクリア」なので
リストから選択出来る入力規則が設定してあるシートで 「入力フォームクリア」を実行してセルの値を削除すると 保存時にエラーが出る。
のかと思ってましたが、よく見ると >入力フォームのセルに、入力規則でリストを作成した場合、 ですね?
「入力規則を設定する」マクロがあって、 それを実行後 保存時にエラーが出る ですね?
でしたら、そのコードを載せてもらわないと。。。
リストの元の値が、別シートを参照する様な設定になってませんか? ↓(4) 注意 の所を見て下さい。 http://www.excel.studio-kazu.jp/lib/e2k/e2k.html
2003以前では、直接別シートを参照させることができませんので 色々な対策が必要になります。
(HANA)
・・・って思って勢いで投稿しちゃったけど 違ったかなぁ〜。
タイトルが >マクロのクリア対象が入力規則である場合のエラー だしな。。。
でも『マクロだからエラー』ってのはなぁ。
(HANA)
【参考】 [[20040506111414]] 『保存するファイル形式で利用できない関数』(ホクママ) 上記で紹介されているマイクロソフトのサポート情報に該当しませんか [XL2002]古いバージョン形式でファイルを保存した場合にエラー発生 http://support.microsoft.com/default.aspx?scid=kb;ja;215281 また、セルのスタイル(書式設定)の数が多すぎると 条件付書式に設定した数式が原因でご提示のエラーが発生する、 という情報もネットで見受けられます。 (みやほりん)
色々ご投稿ありがとうございました!!
>リストの元の値が、別シートを参照する様な設定
ですが、この問題に直面する前に頭を悩ませた問題でしたw
これは2003で再作成した時点で同シートにリストを移しましたので大丈夫です。
みやほりんさん
ご回答ありがとうございます。
どうやらこのサポート情報の原因に該当していないようです。
>また、セルのスタイル(書式設定)の数が多すぎると
>条件付書式に設定した数式が原因でご提示のエラーが発生する、
>という情報もネットで見受けられます。
この辺を考えながらいじってみたいと思います。
※ご返答遅くなり申し訳ございませんでした。
(練乳)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.