こんばんわ。
教えていただけないでしょうか。。。
ワークシート上にコマンドボタンがあり、それを押すと集計を始めます。
その際にユーザーフォームで「集計中」と書いたものを表示させ、バックで集
計したいと思っておりますが、うまくいっておりません。
流れとしては、
ワークシート上に、コマンドボタンをクリックさせユーザーフォームを表示さ
せる「***.show」を記述し、集計するためのコードが書いてある標準モジュー
ル「module2」へ移動させる書き方をしたら、
***.show
の部分で止まってしまいました。
***.showから集計のコードへ移すには何かコツがいるのでしょうか???
恐れ入りますが、ご教示のほど宜しくお願いします。
No.4ベストアンサー
- 回答日時:
ANo2の方のを少し改良すると
'シートモジュール----------------------------------------------
Private Sub CommandButton1_Click()
Call Test
End Sub
'標準モジュール----------------------------------------------
Sub Test()
Dim i As Long
UserForm1.Show vbModeless
DoEvents
For i = 1 To 2000
ActiveSheet.Range("A" & i) = i
'ここを改良
If i mod 10 = 0 then
UserForm1.Caption = "ただいま処理中・・・・" & i
DoEvents
End if
Next i
Unload UserForm1
End Sub
ウィンドウズの処理(メッセージキュー?)の中では、画像処理の優先度が低いのです。
なので、表示を更新したい場合はDoEventsを入れて、表示をリフレッシュさせるのです。
ありがとうございます。
>
ウィンドウズの処理(メッセージキュー?)の中では、画像処理の優先度が低いのです。
なので、表示を更新したい場合はDoEventsを入れて、表示をリフレッシュさせるのです。
>
なるほど。。。
お蔭様で完成させることができました。
ありがとうございます。
今後とも何卒宜しくお願いいたします。
No.3
- 回答日時:
とりあえず切り分けします。
Private Sub Frm集計中_Activate()
msgbox "テスト"
食費DB化
End Sub
MsgBoxをユーザーフォームのコードに追加して、メッセージボックスが出てくるか確認してください。
No.2
- 回答日時:
Show を モードレスで実行すれば良いかと思います、、、たぶん。
下記はアクティブシートのA列に書込みに行くので、試すなら新規ブックで。
'シートモジュール----------------------------------------------
Private Sub CommandButton1_Click()
Call Test
End Sub
'標準モジュール----------------------------------------------
Sub Test()
Dim i As Long
UserForm1.Show vbModeless
DoEvents
For i = 1 To 2000
ActiveSheet.Range("A" & i) = i
UserForm1.Caption = "ただいま処理中・・・・" & i
Next i
Unload UserForm1
End Sub
ありがとうございます。
うまくいきました。
しかしユーザーフォームに書いた内容(「集計中...」)という文字が表示されておらずの状態です。
処理時間は10秒くらいですが、vbmodelessだと文字は表示されないものなのでしょうか?
恐れ入りますが、お時間ある時に教えていただければと思います。
宜しくお願い致します。
No.1
- 回答日時:
一例ですが・・
シート1にこんなマクロを書いて
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
ユーザーフォームには
Private Sub UserForm_Activate()
test '名前です
End Sub
標準モジュールには
Sub test()
'実行させたいコード
unload userform1
End Sub
これで動くはずですよ。
ありがとうございます。
それでもユーザーフォームで止まってしまっているような気がしますして、以下に実際に書いたコードを記しますので添削をお願いできませんか?
(ワークシート上のコマンドボタン)
Private Sub 食費DB_Click()
Frm集計中.Show
End Sub
(ユーザーフォームのコードです)
Private Sub Frm集計中_Activate()
食費DB化
End Sub
(標準モジュールに書いたコードです)
Sub 食費DB化()
Unload Frm食費DB化
End Sub
---
お願い致します。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。 3 2023/03/23 17:30
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ユーザーフォームが立ち上がらない 2 2022/06/10 18:57
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Visual Basic(VBA) 以前シートを集めて1シートへ繋げる下記コードをご教授いただき作成しました。 今回すでに集めてある「ま 1 2022/08/29 20:38
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
vba userFormのSubを標準モジュールから呼び出す方法を教えてください
Visual Basic(VBA)
-
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
Excel・ユーザーフォームの情報を受け渡したい
Visual Basic(VBA)
-
7
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
-
8
標準モジュールからフォームをコントロールしたい
Visual Basic(VBA)
-
9
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
10
指定の動作中ユーザーフォーム終了方法
Excel(エクセル)
-
11
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
12
ユーザーフォームのラベルに日付を表示させる方法があればお願いします。出来ればコード書いていただけると
Visual Basic(VBA)
-
13
フォームのテキストボックスなどの変数名を標準モジュールから参照は可能か?
Visual Basic(VBA)
-
14
EXCEL-VBAでコマンドボタンに条件を追加したい
Visual Basic(VBA)
-
15
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
16
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
17
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
18
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
19
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
20
UserForm1.Showでエラーになります。
工学
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに入力したデ...
-
特定の文字を含むシートだけマ...
-
【Excel VBA】Worksheets().Act...
-
原本シート複写してリストの氏...
-
userFormに貼り付けたLabelを変...
-
トグルボタン一部を一度にON OF...
-
Vba UserformからExcelシートの...
-
EXCEL(VBA)でシート保護がかか...
-
エクセルで通し番号を入れてチ...
-
VBA オートフィルター繰り返し
-
一時的にファイル名、シート名...
-
Excel VBA 複数行を数の分だけ...
-
ListViewの画面の更新
-
C#でExcelのシートを選択する方法
-
コンボボックスとオートフィル...
-
VBA 検索して一致したセル...
-
翌日にお休み予定の従業員がい...
-
VBAです。ユーザーフォームの表...
-
Excelにて、シート間で、データ...
-
コマンドボタンをクリックでシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
excelのマクロで該当処理できな...
-
Excelマクロのエラーを解決した...
-
別のシートから値を取得するとき
-
ブック名、シート名を他のモジ...
-
VBA 存在しないシートを選...
-
シートが保護されている状態で...
-
同じ作業を複数のシートに実行...
-
VBAで指定シート以外の選択
-
Excel VBA リンク先をシート...
-
エクセル・マクロ シートの非...
-
実行時エラー1004「Select メソ...
-
ExcelのVBAのマクロで他のシー...
-
【Excel VBA】Worksheets().Act...
-
エクセルVBA Ifでシート名が合...
-
userFormに貼り付けたLabelを変...
おすすめ情報