Microsoft 製品に組み込まれている Visual Basic の実装。
こんにちは。
既知の情報ではないですが、一旦更新をロールバックすることで回避できそうですね。
VBAには専用のフォーラムがあるため、仕様変更などにつき下記へご投稿してみてください。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
2020年8月6日までは正常に動いていたVBAが、8月7日以降エラーを吐くようになりました。
エラー内容は「RangeクラスのAutFilterメソッドが失敗しました。」です。
Nend="2020/4/1"
Range("A1").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(1, Nendo)
という感じで書いてます。
エクセルのバージョンが下記に変わったことが原因ではないかと考えています。
2020 年 7 月 30 日 バージョン 2007 (ビルド 13029.20308)
尚、
2020 年 7 月 14 日 バージョン 1808 (ビルド 10363.20015)のエクセルでは正常に稼働します。
バージョン2007のPCは2台あって、どちらもエラー
バージョン1808のPCも2台あって、どちらも正常稼働
以上の事からも、バージョン 2007 (ビルド 13029.20308)が原因であることが濃厚かと思います。
これは既知の情報でしょうか?
解決方法などありましたら教えてください。
Microsoft 製品に組み込まれている Visual Basic の実装。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
こんにちは。
既知の情報ではないですが、一旦更新をロールバックすることで回避できそうですね。
VBAには専用のフォーラムがあるため、仕様変更などにつき下記へご投稿してみてください。
長らく間が空いたので、解決済みかとは思いますが…
このスレッドのおおもとの質問内容とほぼ同じで、
> ActiveSheet.Range(xxx).AutoFilter Field:=1 _
> , Operator:=xlFilterValues, Criteria2:=Array(1, dateVal)
のように書いてたコードでエラーが出るようになったので、しかたなく
> ActiveSheet.Range(xxx).AutoFilter Field:=1 _
> , Operator:=xlAnd _
> , Criteria1:=">=" & CDate(Format(dateVal,"yyyy/mm/01")) _
> , Criteria2:="<" & DateAdd("m", 1, CDate(Format(dateVal,"yyyy/mm/01")))
みたいなコードに書き換えて回避しました。
自分の場合は dateVal に時刻も含んでいて下記のように日付単位で集計するところもありましたが、
> , Operator:=xlFilterValues, Criteria2:=Array(2, dateVal)
その部分は当然下記にしてあります。
> , Operator:=xlAnd _
> , Criteria1:=">=" & CDate(Format(dateVal,"yyyy/mm/dd")) _
> , Criteria2:="<" & DateAdd("d", 1, CDate(Format(dateVal,"yyyy/mm/dd")))
自分のところでは変更前のコードでエラーが出ていた環境では
2020/09/23時点でOS/Officeを最新に更新していてもエラーが出るままのようです。
本日 2020/09/02 15:00頃時点で
WindowsUpdateも Office更新プログラム も今すぐ更新 で最新になっているはずの状態で。
> Microsoft Office Professional Plus 2019 (Windows 10 Pro)
> Excelのバージョン情報
> バージョン 2008 (ビルド 13127.20296 クイック実行)
> Microsoft Visual Basic for Application のバージョン情報
> Version 1099 VBA:Retail 7.1.1099 Forms3: 16.0.13127.20204
これは前回と変わらずエラー
実行時エラー '1004'
Rangeクラスの AutoFilter メソッドが失敗しました。
> Microsoft 365 Apps for business (Windows 10 Home)
> Excelのバージョン情報
> バージョン 2008 (ビルド 13127.20296 クイック実行)
> Microsoft Visual Basic for Application のバージョン情報
> Version 1099 VBA:Retail 7.1.1099 Forms3: 16.0.13127.20204
バージョンは全く同じなのに、こちらは以前からと同じく問題なく動作しています。
(OSとかも影響している? 後者は英語キーボードだったりするし…)
なんだか分からなくなってきたのですが、とり急ぐ処理があったので
> ActiveSheet.Range(xxx).AutoFilter Field:=1 _
> , Operator:=xlAnd _
> , Criteria1:=">=" & CDate(Format(dateVal,"yyyy/mm/01")) _
> , Criteria2:="<" & DateAdd("m", 1, CDate(Format(dateVal,"yyyy/mm/01")))
みたいなコードに書き換えて回避することにしましたヨ。軟弱…
OkamoSSanさん
コミュニティセンターの<**こちらのスレッド**>で確認させていただいた結果、マイクロソフトの開発チームに不具合を伝える方法としましては、アプリのフィードバックからフィードバックを送信していただくのが適切との事でした。(または英語のみとなりますが UserVoice に投稿していただく事も出来ます。)
・Microsoft Office に関するフィードバックを送信する方法
同じ問題でお困りの方は、マイクロソフトの開発チームに不具合を伝える為、是非 Excel などのアプリの [ファイル] > [フィードバック] から改善要望を送信下さいますようご協力をお願いします。
Makapuさん、おはようございます。
「マイクロソフトによるコミュニティの投稿の認識について」ですが、電話での回答です。
マイクロソフト「この電話は不具合の報告先ではない」
私「では、どうやって不具合を報告すればいいのか」
マ「マイクロソフトはすべての書き込みを見ているので、コミュニティに書き込んでもらえれば大丈夫です」
のような感じです。