
VBA初心者です。
あるサイトのコードを活用し、自前のマクロを実行したら表示させるようにしたいです。
ググってもどのように自分のマクロへ実装するのかは見当たらなかったので、アドバイスを頂けたら幸いです。
■ソースとなるコード:
https://www.it-swarm-ja.tech/ja/excel/vba-excel% …
上記リンク先での2、3番めに書いてあるコードになります。
※実行した歳のサンプル画像を添付しました
■反映したいマクロのコード
Sub 他者評価データ取込み()
Const f1 = "C:\Users\tefun\Desktop\Projects\Evaluation\3rd_Party_Evaluation_Source_Files\" '取込ファイルの経路
Const f2 = ".xlsm" '取込ファイルの拡張子
Dim i As Long, TrRow As Long
Dim sh As Worksheet, trSh As Worksheet
Dim progressBar As New progressBar
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Set sh = Sheets("0_3rdParty") 'コピペ先ファイルのシート名
For i = 1 To 22 '取込ファイルの個数
With Workbooks.Open(f1 & "3rd_Party_Evaluation_sheet_P" & i & f2)
For Each trSh In .Worksheets
TrRow = sh.Cells(Rows.count, "Q").End(xlUp).Row + 1
sh.Cells(TrRow, "Q").Resize(1, 2).Value = trSh.Range("K1:L1").Value
sh.Cells(TrRow, "S").Resize(1, 11).Value = trSh.Range("B13:L13").Value
Next trSh
.Close SaveChanges:=False
End With
Next
With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
.statusbar = False
End With
MsgBox "完了しました"
End Sub

A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
>上記リンク先での2、3番めに書いてあるコードになります。
ざっとしか見ていませんが、ステータスバーを利用する方のものですね。
>ググってもどのように自分のマクロへ実装するのかは見当たらなかったので
個人が作成したものをググって参照できるようなら、それはかなり有名なものになっているはずですが……?
ってか、ちゃんとそのサイトに説明がありますよね?
>※実行した歳のサンプル画像を添付しました
実装の説明を読んで実行してみたから、画像が添付できているのではないのでしょうか??
その実装にもあるように、
Call progressBar.Update(i, 100, "My Message Here", True)
で、引数 i に進捗度を与えて呼び出せば、バーが更新表示される仕組みです。
ですので、本体の処理から適当な間隔で進捗度を算出して呼び出せば良いだけではないでしょうか?
なお、一寸気になったのは、(確認はしていませんけれど)本体の処理の方で ScreenUpdating 等をみな止めていますけれど、その状態でステータスバーへの書き込みって更新表示されるんでしょうかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
オートフィルターとExcelマクロ...
-
IF関数を使ってマクロを実行さ...
-
エクセルのマクロでワードの任...
-
ExcelVBAの繰り返し処理でwebク...
-
Excelのセル値に基づいて図形の...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
ExcelVBA 図形をクリックした...
-
ピボットテーブルでの毎回可変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報
ソースとなるコードが長い為、質問欄に書けずすみません。
fujillin様、伝えにくい文章になっていたこと、大変失礼いたしました。
ご質問に補足させていただきます。
>ステータスバーを利用する方のものですね。
→はい。複数のブック・シートからデータを読取るマクロに進捗状況をステータスバーに表示させたいのが目的です。
>実装の説明を読んで実行してみたから、画像が添付できているのではないのでしょうか??
→添付の画像はリンク先に載っていたものでした。
>ちゃんとそのサイトに説明がありますよね?
→ステータスバー自体のコードはネット上にあるものの、それを自分のマクロに反映する方法は得られなかったとの意味でした。
>本体の処理の方で ScreenUpdating 等をみな止めていますけれど、その状態でステータスバーへの書き込みって更新表示されるんでしょうかね?
→Screenupdatingの設定を訂正してみます。ありがとうございます。