2016-04-19 21 views
-2

私は、ユーザーフォームにでExcelファイルにVBAマクロのデータをロードしています。マクロを動作させるには、なぜVBAエディタウィンドウを開いておく必要がありますか?

私が最初に(デベロッパークリックして - >のVisual Basicを)のVisual Basicエディタを開くとマクロがクラッシュすることはありませんが、私は開いているエディタなしでそれを実行した場合、それは時々クラッシュし、Excelを閉じます。

VBAエディタを開くと、マクロを起動し、正常に動作することを可能にしているようにです。

私は、このような場合は、どのように私は最初のエディタを開く必要はありませんので、私のファイルを修正する理由についてで絞り込むしようとしています。何か案は?

編集:私はdownvotedされているよ、なぜ私は理解していません。マクロから

サンプルコード:

Public Sub LoadButton_Click() 

    'Policy Information 
    ZoneLatitudeTextBox.Text = Sheets("Saved Policy Values").Cells(2, 2) 
    ZoneLongitudeTextBox.Text = Sheets("Saved Policy Values").Cells(3, 2) 
    TownClassComboBox.Text = Sheets("Saved Policy Values").Cells(4, 2) 
+1

はVBAProjectのパスワードで保護されていますか? – findwindow

+1

VBEを開いておくと、マクロの動作に影響することは絶対にありません。もっと理にかなった理由は、あなたが 'ActiveWorkbook'オブジェクトにデフォルト設定しているシートとセルに対するある種の非修飾呼び出しを持っていることでしょう。あなたのコードのすべてを見ることなく、それを伝えることは不可能です。 –

+0

いいえ、パスワードで保護されていません。 – offcenter35

答えて

1

このスレッドは私の質問への答えを私に提供:あまりにも持っているユーザーフォームがある場合に

http://www.xtremevbtalk.com/excel/229325-excel-crashes-unless-vba-editor.html

はどうやらExcelがメモリの問題に実行されます多くのコントロール。 VBAエディタを開くとメモリの問題が回避され、関連するマクロが正しく実行されます。

Application.VBE.MainWindow.Visible = Trueの
Application.VBE.MainWindow.Visible:

は、このプロセスを自動化するためには、単にマクロの先頭に次のコード行を追加する必要があります= Falseの

関連する問題