問題タブ [userform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4021 参照

excel - ユーザーフォームを閉じられません

環境を整えましょう。

これは Excel で実行される VBA コードです。

msflexgrid を含むユーザー フォームがあります。このフレックスグリッドには、顧客のリストと、顧客、営業担当者、CSR、製造担当者、地域、割り当てが表示されます。列をクリックすると、たとえば Territory 列の下で、別のユーザーフォームが開き、Territories のリストが表示されます。次に、選択した地域をクリックすると、ユーザーフォームが消え、新しい地域が古い地域に置き換わります。

選択した領域をクリックするまで、これはすべてうまく機能します。「領域」ユーザーフォームは消えず (ちらつきます)、新しい領域は基になるユーザーフォームを転送しません。

コードをステップ実行すると、うまく機能することを言及する必要があります。

ユーザーフォームを開く他のすべてのユーザーフォーム(フレックスグリッドを持たない)は問題なく機能するため、フレックスグリッドと関係があると思います。

以下は、いくつかのコードサンプルです。

**テリトリーユーザーフォームが閉じられたときにテリトリーユーザーフォームと新しいテリトリーの割り当てを示すflexgridからのイベントをクリックします。

** 次のサブはテリトリー ユーザーフォームで使用されます

私はこれが長々とした説明であることを知っていますが、私はかなりまともな VBA プログラマーであり、これには困惑しています。

どんな助けでも大歓迎です。

0 投票する
3 に答える
3949 参照

events - ExcelVBA-ComboBoxの更新中にイベントを一時停止します

ライブデータフィードを取り込むVBAforExcelで記述されたアプリケーションがあります。データに変更があるたびに、VBA内でさまざまなイベントがトリガーされます。

また、ComboBoxを含むいくつかのユーザーフォームがあります。私の問題は、ComboBoxの下矢印をクリックして選択しようとすると、データフィードから更新を取得した瞬間に、ComboBoxがリセットされることです。私がやりたいのは、ComboBoxで選択を行っている間はイベントを一時停止し、完了したら一時停止を解除することです。この機能を生成するにはどうすればよいですか?

0 投票する
3 に答える
3349 参照

excel - ユーザーフォームのキャンセルボタンが_断続的に_無反応?

添付の VBA 手順は、進行状況バーのユーザーフォーム用です。キャンセル ボタンが断続的に応答しないことを除いて、すべてが期待どおりに機能します。

断続的に言うのは、95% の確率で、手順が停止する前にキャンセル ボタンを何度もクリックしなければならないからです。ボタン クリック イベントがアニメーション化されているのがわかりますが、手順は中断されていません。ボタン ダウン イベントが発生する前に、何かがキャンセル ボタンからフォーカスを奪っているように見えます。

エスケープ ボタンとウィンドウを閉じるボタンは、1 回のクリックで期待どおりに応答します。

キャンセル ボタンが正しく反応するようにするにはどうすればよいですか? ありがとう!

更新:キャンセルボタンをクリックして押したままにすると、ボタンが「下」のままではなく、元に戻ることに気付きました。そのため、明らかに何かがボタンの状態をアップにリセットしているため、手順がダウン状態をキャッチしてクリックイベントを発生させていません。

userform モジュール (UserForm1 という名前) のコードは次のとおりです。

UserForm1 を呼び出すモジュール (Module1 という名前) のコードは次のとおりです。

0 投票する
5 に答える
6111 参照

vba - VBA で ProgressBar UserForms をモーダルまたはモードレスとして表示する方が良いですか?

VBA で ProgressBar UserForms をモーダルまたはモードレスとして表示する方が良いですか? VBA で進行状況インジケーターを開発するためのベスト プラクティスは何ですか?

モードレス ユーザー フォームでは を使用する必要がありますがApplication.Interactive = False、モーダル ユーザー フォームはその性質上、コア プロシージャが終了するかキャンセルされるまで、アプリケーションとの対話をブロックします。

ただし、 が使用されている場合Application.Interactive = False、Esc キーはコードの実行を中断するため、ユーザー フォームと呼び出し元のプロシージャの両方でApplication.EnableCancelKey = xlErrorHandlerエラー処理 ( ) を使用する必要があります。Err.Number = 18

リソースを大量に使用する呼び出し手順によって、モードレス ユーザー フォームCommandButton_Clickでイベントが発生することもあります。UserForm_Activate

一般に、モーダル ユーザー フォームを使用する進行状況インジケーターは、実行中のコードがユーザー フォーム モジュールに完全に含まれており、変数を渡す必要が少ないため、単純に見えます。

ただし、進行状況インジケーターにモーダル UserForms を使用する場合の問題は、進行状況インジケーターを必要とするすべてのプロシージャに対して個別の UserForm モジュールが必要になることです。これは、呼び出し元のプロシージャが UserForm_Activate プロシージャ内にある必要があるためです。

そのため、モードレス ユーザー フォームで単一の再利用可能な進行状況インジケーターを使用することは可能ですが、複数のモーダル ユーザー フォーム内からコードを実行するよりも信頼性が低くなります。

どちらの方法が良いですか?

ありがとう!

0 投票する
1 に答える
1210 参照

vb.net - Windows フォームの外観

Visual Studio 2008 を使い始めたばかりで、古いUserFormコントロールをオペレーティング システムに一致する新しい Windows フォーム コントロールにアップグレードする目的で、VBA ユーザー フォームを VB.NET に変換したいと考えていました。

Visual Studio で作成した Windows フォームは見栄えがしますが、それらを PowerPoint や Excel に読み込むと、フォーム コントロールは以前と同じように見栄えが悪くなります (プレーンな長方形のボタンなど)。

Visual Studio で VB.NET を使用して、Windows フォームに最新のコントロールを採用する方法はありますか?

0 投票する
2 に答える
15915 参照

vba - VBA右クリックを使用してユーザーフォームにコピーして貼り付けるにはどうすればよいですか?

ユーザーがVBAのuserFormのTextBoxに値を貼り付けられるようにしたいと思います。Ctrl-vは問題なく使用できますが、誰もがその方法を知っているわけではありません。

右クリックメニューを使用してコピーと貼り付けを有効にするにはどうすればよいですか?

0 投票する
1 に答える
4937 参照

excel - ユーザーフォームからボタンクリックの値を読み取れません

私は何時間もウェブ検索とT&Eの使用を無駄にしてきましたが、これが比較的簡単な問題であることを願っています。うまくいけば、誰かが助けることができます; o)

多くの処理を行う前にいくつかの入力データを取得するためのユーザーフォームを表示するExcelモジュールがあります。ユーザーフォームの下部には、「OK」と「キャンセル」というラベルの付いたコマンドボタンがいくつかあります。ユーザーがオプションボタンを変更し、「OK」または「キャンセル」をクリックして終了できるようにする必要があります。モジュールは、に基づいてプロセスを続行します。 「キャンセル」が押されたかどうか。フォームの[キャンセル]ボタンを押してもブール結果を読み取る方法が見つからないようです。99%は、何らかのパブリック/プライベート参照エラーであると確信していますが、私はまだそれを理解するのに十分な経験を積んでいません。コードスニペットは次のとおりです。


(モジュール1から)

キャンセルのTrueまたはFalseに基づいて、残りの手順を実行できます。


(UserForm2コード)

それでおしまい。シンプルなはずなのに困ります。助けてくれるTIA!

0 投票する
1 に答える
491 参照

vba - Outlook ルールから実行されるスクリプト内のユーザー フォーム

http://support.microsoft.com/kb/306108に基づいて、単純な古い MsgBox の代わりにカスタム UserForm を表示するカスタム ルールを作成したいと思います。私が書いたのはこれでした:

CustomAlerts は、単一の ListBox を含む UserForm です。

残念ながら、私の試みはうまくいきません - ウィンドウが表示されません。私は何を間違っていますか?

0 投票する
1 に答える
12629 参照

vba - VBAでユーザーフォームのタイトルバーのテキストを変更するにはどうすればよいですか?

VBA for Excel 2002(XP)/ 2003で記述された古いアプリケーションを維持しており、それを国際化しようとしています。

これを行うには、翻訳された文字列を動的に読み取り、.Captionプロパティを更新することで、ユーザーフォームのさまざまなコントロールを更新します。

これはすべてのコントロールで期待どおりに機能しますが、フォーム自体では機能しません。フォームの.Captionプロパティを変更すると、タイトルバーに「ハードコードされた」値が表示され続け、代わりに新しい値がそのすぐ下に表示されます。フォーム自体の「キャンバス」の上部。

表示された後にユーザーフォームのタイトルバーテキストを変更することは可能ですか、またはフォームが表示される前に、フォームの.Captionプロパティを変更して、タイトルバーではなくタイトルバーに反映されるようにする必要がありますか?キャンバス/クライアントエリア?

私のコードは次のようになります。

私が言ったように、への割り当てpForm.Captionは効果があります-しかし、それはウィンドウのタイトルバーにではなく、その真下に書き込みます。Windows XPSP3でExcel2003を実行しています。

0 投票する
1 に答える
529 参照

vba - VBA Textbox が「Alt-Gr」にフォーカスを失う

VBA ユーザーフォームでテキスト ボックスの奇妙な動作が発生しています。Alt-Gr を押すと、ボックスがフォーカスを失います。これは、フォームの VBA 初期化コードを少し実行した後に発生します。テキスト ボックスには、初期化コードもイベント リスナーもありません。IDE から直接ユーザー フォームを起動すると、すべて問題ありません。

MS Office または Windows の更新プログラムがこの動作の変化の原因であると思われますが、突き止めることはできません。

問題が何であり、それを修正する方法を知っている人はいますか? 提案をありがとう。

ところで: VBA は、VBA ランタイム環境が組み込まれた Organice という CRM アプリケーション内で実行されます。

シュテンビーゲル