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

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

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

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

Q&A

解決済

2回答

2266閲覧

シートに組み込んだマクロを指定したフォルダの中にあるエクセルファイル全てに適用したいです。

testuser3

総合スコア12

VBA

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

0グッド

0クリップ

投稿2018/03/12 02:47

編集2018/03/12 02:53

シートに組み込んだマクロを
こちらで指定したフォルダに存在するエクセルファイル全てに反映させたいと思っています。
ファイルの数が1500を超えているので一つ一つのファイルに
bookを開いてシートのコード表示、貼り付けて対応は時間が掛かってしまうので・・・

1エクセルファイルがある→2bookを開く→3下記マクロ適用→4保存して閉じる→1に戻る
上の流れを適用したファイルがなくなるまで出来ればと思っています。

言語
vba

ソース
Option Explicit

Sub InsertRow()
Dim LastRow As Long
Dim LastRow1 As Long
Dim LastRow2 As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
LastRow1 = Cells(Rows.Count, "B").End(xlUp).Row
LastRow2 = Cells(Rows.Count, "C").End(xlUp).Row
Const str As String = ":"
Const str1 As String = "/"
Range("B:D").Insert
Range("B1") = "=COUNTA(B2:B100000)"
Range("B2") = "=MID(A2,1,4)&""/""&MID(A2,5,2)&""/""&MID(A2,7,2)"
Range("C1") = "=TEXT(B1/24/60/60,""[h]時間mm分ss秒"")"
Range("C2") = "=Mid(A2, 9, 2)&"":""& Mid(A2, 11, 2)&"":""&Mid(A2, 13, 2)"
Range("D1") = "=SUM(D3:D100000)"
Range("D3") = "=C3-C2"
Range("D1").NumberFormatLocal = "hh:mm:ss"
Range("D3").NumberFormatLocal = "hh:mm:ss"
Range("B2").AutoFill Destination:=Range("B2:B" & LastRow)
Range("C2").AutoFill Destination:=Range("C2:C" & LastRow1)
Range("D3").AutoFill Destination:=Range("D3:D" & LastRow2)

End Sub

対象フォルダ
例:C:\sample2

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

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

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

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

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

ExcelVBAer

2018/03/12 04:02

なんか勘違いされている方が多いようですが、ここは開発者向けのサイトなんですよね。なので、自分の仕事をやらせる場所ではないので。
KoichiSugiyama

2018/03/12 04:04

「1エクセルファイルがある→2bookを開く→3下記マクロ適用→4保存して閉じる→1に戻る 上の流れを適用したファイルがなくなるまで出来ればと思っています。」というロジックまで考えておられるのであれば、そのロジックを実装したコードや、実行結果なども提示して頂ければ、アドバイスは集まりやすいと思います。
testuser3

2018/03/12 05:08

沢山のご指摘ありがとうございます。質問方法が適切でなく申し訳ありませんでした。以後気をつけていきます。
guest

回答2

0

ベストアンサー

丸投げの質問ととられます。丸投げの質問はここでは推奨されてません。

検索すればサンプルコードは見つかりますので、それを組み合わせてトライしてみてください。
それで、うまくいかない場合は、その時点でのコードを提示して、質問してください。

特定フォルダー内のファイル名の取得
Dir関数

BOOKを開く
ブックを開く

BOOKを保存して閉じる
ブックを閉じる

提示のマクロは、シート名を指定していないので、アクティブなシートが対象になります。
上記のコードでブックを開いたら対象シートをアクティブにして、提示のマクロを実行すればいいですね。マクロ内から別マクロを呼び出すのは、Callステートメントです。
Callステートメント

投稿2018/03/12 04:12

hatena19

総合スコア33620

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

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

testuser3

2018/03/12 05:09

ありがとうございます。 ご指摘ありがとうございます。申し訳ありませんでした。 以後質問方法は気をつけていきます。
guest

0

Visual Basic から VBA マクロを動的に追加し、実行する方法

試してみてください。
当然のことながら、「試す」というのはいきなり本番環境にぶち込むことではなく、既存の xls のコピーを使って実験することです。

投稿2018/03/12 04:02

編集2018/03/12 04:03
Zuishin

総合スコア28656

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

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

testuser3

2018/03/12 05:09

ありがとうございます。 また、質問方法が適切でなく申し訳ありませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問