• ベストアンサー

VBA EXCELの並び替え機能

WindowsXP Pro 32bit - Office2003 Pro SP3 の組合せの エクセルにVBAで、「Application.SendKeys ("%ds")」と記入し ボタンを押すと「並び替え」のダイヤログが表示されるように作成しました。 今回、同プログラムを Windows7 Pro 32bit - Office2003 Pro SP3 の組合せにて 使用したところ、無反応となりました。 どんな原因が考えられるでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

手作業で[Alt][d][s]は問題なく動くのですか? だとしたら >どんな原因が考えられるでしょうか? 元々SendKeysメソッドはキーコードを送るだけなので不安定だし、 PCの処理性能によっては上手くいかないケースもあるのでしょう。 Application.SendKeys ("%d"), True Application.SendKeys ("s") などと分割してやってみてもダメなようだったら別の方法をおすすめします。 CommandBars.FindControl(ID:=928).Execute や CommandBars.FindControl(ID:=928).accDoDefaultAction または On Error Resume Next Application.Dialogs(xlDialogSort).Show など。

precious84
質問者

お礼

ご回答、有り難うございます。 SendKeysは使用できませんでしたが、 CommandBars.FindControl(ID:=928).Executeにて解決しました。 大変助かりました!

関連するQ&A