プロが教える店舗&オフィスのセキュリティ対策術

あるシートにマクロをかけて変更し、別の名前を付けた場合、「互換性チェック」のメッセージボックスが出て、「続行」を押さないと次に進めません。
連続で、このメッセージボックスを押すことなく次のマクロへ進みたいのですが、良い方法がないでしょうか?
教えてください。

A 回答 (3件)

#2の回答者です



もしかしたら、一定のシートの部分だけではありませんか?
もし、そうなら、マクロコードが違います。
ブックの保存でよいのでしょうか?
    • good
    • 0

エクセル大好きさん、こんにちは。



すごいハンドルですね。

基本的には、最初に、互換性のチェックをした後に、以下のようなマクロを立てれば問題ないと思います。もちろん、そのままでもいけるはずですが、そのままですと、Excel2003などでは、不都合が出てくる可能性があります。

Format は、xlExcel8 (=56 xlExcel8 (97-2003 format in Excel 2007-2013, xls) で後は、DisplayAlert をFalseにすれば進むと思います。ダメ元で試してみてください。

なお、拡張子を替えるのは、昔は良かったのですが、今は、SaveAs のパラメータのFormat で替えないと、Excel側が認識しないことがあります。

'最初に、自ブックは、上書き保存してください。
'両方共、デフォルトのフォルダーにあるという条件ですから、そうでない場合は、Path を付けてください。
'//
Sub TestOldTypeFormat1()
Dim BaseFilename As String
BaseFilename = "test" & Format$(Date, "yymmdd")
Application.DisplayAlerts = False
With ThisWorkbook
 .SaveAs BaseFilename, xlExcel8
 .Close True 'True にしておいたほうが安全です。
End With
Application.DisplayAlerts = True
End Sub

'元のブックは自動的に閉じてしまいますので、再度開けるようにしたものです。
Sub TestOldTypeFormat2()
 Dim BaseFilename As String
 Dim myFileName As String
 Dim newBk As Workbook
 BaseFilename = "test2_" & Format$(Date, "yymmdd")
 myFileName = ThisWorkbook.Name
 Application.DisplayAlerts = False
 ThisWorkbook.SaveAs BaseFilename, xlExcel8
 ActiveWorkbook.Close True
 Application.DisplayAlerts = True
 Workbooks.Open myFileName
End Sub
'///

p.s.
「エクセルの数字が文字と認識された場合の処理を教えてください。」
の質問もちょっと気になっています。

通常、マクロでは、
範囲.Value = 範囲.Vaue

というコードだけで、数字は数値として認識します。
    • good
    • 0

参照されているEXCELファイルの拡張子を確認してみてください。


2007年以降『~.xlsx』ですが、参照され散るファイルは『~.xls』であれば互換性表示が出てきます。
『~.xls』ファイルを『~.xlsx』形式に変更すれば出なくなりますが、拡張子だけ変更すると書式等が変わる可能性があります。
手間ですが拡張子を変更する場合はファイルを開いて『名前を付けて保存』から拡張子の変更をお勧めします。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おっしゃる通り、拡張子は~.xlsです。
今後は、先に拡張子を変更してからマクロを実施します。

ありがとうございました。

お礼日時:2015/11/26 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!