質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

4216閲覧

Application.MoveAfterReturnを触ったときにexcelが落ちる

WoodenHamlet

総合スコア306

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/04/24 11:38

いつもお世話になります。

Excelで、ENTERを押下したときの選択セルの移動方向を変更する
マクロを組んで使っておりましたが、今日そのマクロを使おうとすると
特定の行でexcelが落ちるようになりました。

ステップ実行したところ、
Application.MoveAfterReturn = True
としたときに落ちるようです。どう直せばよいでしょうか、お知恵を
お借りさせていただければと思います。

一応該当行を移動などしてみたのですが、
Application.MoveAfterReturn = True
となるところで毎回落ちてしまいます。

ソースは以下の通りです。

Public dlgComboBoxReturn As Boolean Public dlgComboBoxResult As Integer Sub setDirectionAtEntering() ' ' setDirectionAtEntering Macro ' Enterしたときのセルの移動方向を設定する ' ' Dim defaultDirection As XlDirection DlgComboBox.Caption = "ENTER後セル移動方向設定" DlgComboBox.Label1.Caption = "ENTER押下後移動する方向を" DlgComboBox.Label2.Caption = "選択してOKしてください" defaultDirection = Application.MoveAfterReturnDirection With DlgComboBox.ComboBox1 .AddItem ("上") .AddItem ("下") .AddItem ("左") .AddItem ("右") ' この下の行で落ちる Application.MoveAfterReturn = True Select Case defaultDirection Case xlUp .ListIndex = 0 Case xlDown .ListIndex = 1 Case xlToLeft .ListIndex = 2 Case xlToRight .ListIndex = 3 End Select End With DlgComboBox.Show If dlgComboBoxReturn Then Dim direction As XlDirection Select Case dlgComboBoxResult Case 0 direction = xlUp Case 1 direction = xlDown Case 2 direction = xlToLeft Case 3 direction = xlToRight End Select Application.MoveAfterReturnDirection = direction End If End Sub
Private Sub CommandButton1_Click() dlgComboBoxResult = ComboBox1.ListIndex dlgComboBoxReturn = True Unload Me End Sub Private Sub CommandButton2_Click() dlgComboBoxReturn = False Unload Me End Sub Private Sub UserForm_Click() End Sub

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いままで正常に動作していたものがある時を境に使えなくなったという場合、変更していないコードを疑うよりも先に環境面の変化を疑うべきかと思います。

動いていたときと動かなくなったときで何か変えたところはありませんか?
(ファイルの場所、属性、シートの共有・保護など)

また問題の原因を探るためにも、発生しているエラー内容は重要な情報となります。
エラー発生行はわかりましたが、どのようなエラーが発生しているか提示いただけると助かります。
(もしくはエラーメッセージも出さずにexcelが落ちる?)

投稿2017/04/25 00:36

編集2017/04/25 00:38
jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

WoodenHamlet

2017/04/25 04:05

失礼しました。状況としては、エラーが出なくて、「MicrosoftExcelは動作を停止しました」ダイアログが直で出てくるような状況です。 最後に使ってから数週間たっていますが、新たに入れたソフト等は特に思い当たりません。また、過去に使っていたファイルで試してみましたが同じように落ちてしまいます。
jawa

2017/04/25 04:26

過去に正常動作したものが動作しなくなっているということは、やはり環境面の問題のようですね。 あまり有効なアドバイスができそうもありませんが、以下のあたりを確認してみてはどうでしょう? --- ①下記のサイトにExcel強制終了への対策があります。 どうもバージョンにも依存する対策のようなのでなんとも言えませんが、試す価値はあるかもしれません。 [⇒参考①](http://www.sinfo.co.jp/ソフトウェア/excel-2013が落ちる・クラッシュする/) [⇒参考②](http://www.eripyon.com/mt/2014/06/excel_2013_stopped_working.html) ②過去に動いていたものを別の環境で動作確認してみる 別環境で動作するようであれば動作する環境としない環境の違いを調べます。 ほぼ同等の端末で動作するもの・しないものがあれば調べやすいのですが、あまりに異なる端末だと雲をつかむような状態になってしまいますが。 ③Excel再インストール Excelの何らかのモジュールが破損して(もしくは相性の悪いソフトの影響を受けて)特定の機能が使えなくなっている可能性もあります。 この場合、Excelの再インストールでなおる可能性もあるかもしれません。 --- 曖昧な回答ですみませんが、私からアドバイスできそうなのはこれくらいです。 ご確認いただき、解決の糸口になれば幸いです。
WoodenHamlet

2017/05/08 09:37

返事が遅れまして申し訳ございません。まだ解決には至っていないのですが、もう少し見てみようと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問