• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA 複数ブックを自動オープン)

EXCEL VBA 複数ブックを自動オープン

このQ&Aのポイント
  • Excel VBAを使用して、複数のブックを自動的に開く処理を実現したいです。
  • 集計.xlsxというブックに[ファイル]というシートがあり、そのシートにはパスとファイル名が書かれています。欲しい値がリンク先のファイルを開かないと取得できないため、リンク先のファイルを自動的に開く処理を自動化したいです。
  • 具体的には、[開く]ボタンが配置されたシートがあり、クリックするとA1のパスとB1のファイル名を組み合わせてファイルを開き、何もせずにすぐ閉じます。そして次のファイルを同じように開いて閉じるという動作を繰り返したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8514/19356)
回答No.2
yakkun2338
質問者

お礼

chie65535さん、ご連絡ありがとうございました! 当方からの連絡が遅くなりまして大変申し訳ありませんでした。 ご教授いただきました方法で実現できました! この度は大変勉強になりました。 本当に助かりました!ありがとうございました m( _ _ )m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • chie65535
  • ベストアンサー率43% (8514/19356)
回答No.1

>変な処理ですが、本Excelのリンクの値がリンク先のファイルを開かないと値が飛んでこないので、リンク先のファイルを開く処理を自動化したかったのです。 そのように面倒な事をしなくても、外部参照リンクの値を更新するかどうか制御できます。 以下の記事を読んで下さい。 https://support.office.com/ja-jp/article/%25E5%25A4%2596%25E9%2583%25A8%25E5%258F%2582%25E7%2585%25A7-%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25AF-%25E3%2581%25AE%25E6%259B%25B4%25E6%2596%25B0%25E6%2596%25B9%25E6%25B3%2595%25E3%2582%2592%25E5%2588%25B6%25E5%25BE%25A1%25E3%2581%2599%25E3%2582%258B-87861952-ca9d-4d2a-a986-4d672c908d0d?ui=ja-JP&rs=ja-JP&ad=JP&fromAR=1

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 他の複数ブック開くVBA 

    お世話になります。田中と申します。 以前も同じ質問させていただきましたが、複数のブックを自動で開いて閉じるVBAロジックをご教授いただきましたく思います。 Excel VBAを使って下記(1)、(2)の処理を実現したいと思っております。 どなたかVBAロジックをご教授いただけませんでしょうか。 (1)集計.xlsxというブックがあります。このブックに[ファイル]というシートがありまして A1のパス、B1にファイル名が記入されています。 この組み合わせのファイル数は可変ですが下記のように大体10個程度あります。 A2(パス)+B2(ファイル名) A3(パス)+B3(ファイル名) A4(パス)+B4(ファイル名) A5(パス)+B5(ファイル名) ・・・ (2)このシートに[開く]というボタンを配置して、クリックされたらA1(パス)+B1(ファイル名)でファイルを開いて何もしないですぐに閉じて、次のファイルを開いて閉じて、また次のファイルを開いて閉じて。。という動きをファイル数分繰り返したいのです。 どなたかご教授いただけますでしょうか。 よろしくお願い致します。

  • EXCEL VBA 別ブックから貼り付け

    お世話になります。 A、Bという2つのブックがあります。 A.xls データファイル B.xls 処理実行ファイル Bブックを開いてSheet1に置いてあるボタンを押すとファイル洗濯ダイヤログが出てきて、そこで指定したBブックをsrtPathに格納(シートは1つだけ)のBブックのA1から全データをAブックのSheet1に貼り付けたいのです。 下記VBAを書いてみましたがエラーになってうまく動きません。 Workbooks(strPath).Range("A1").Copy ActiveWorkbooks.Worksheets("Sheet1").Range("A1").PasteSpecial どなたが解決方法をご教授いただけませんでしょうか。 よろしくお願い致します。

  • VBA 複数ブックへ書き込み

    VBA初心者です。 1つのフォルダ内にある100(ファイル名001から100)個のエクセルファイル(ブック)の特定の場所(すべてのエクセル ファイルはファイル名は違うが、同一のシート名で同一のセルの構造になっている。 以上に対して、1つのもとになるファイルA(ブック、シート)の特定のセル(同一列の行を上から順次下る)セルの値を先の同一フォルダ内のエクセルファイル100(001~100)個に対して、ブックオープン、特定セルのデリート、特定セルへの書き込み、ブック保存という一連の作業を行いたいです。 多数のファイルから1つの集計ファイルに値を読み込んできて書き込むサンプルはあるようですが、逆に1つのファイルから同一フォルダ内の多数のファイル(ブック)の特定場所に書き込むためのサンプルコードを教えていただけると大変助かります。 以上よろしくお願いいたします。

  • VBA(エクセル)で自動的にボタンをクリックさせるには

    いつもお世話になっております。 下記のことがしたいのですがどうやって良いのかがわからなくって困っております。 やりたいこと。 AブックとBブックが有るとします。(双方ともエクセルファイル) エクセルのVBAで、Aブックのシート上のコマンドボタンを押すと Bブックのシート上のコマンドボタンをクリックするという動きを VBAでさせたいのですがどうしてもクリックさせることができません。 試したこと。 初めは、AのボタンをクリックするとBのボタンをセレクトして SendKeysでENTERを送ってみたりしたのですがうまくいきませんでした。 何かやり方が有りましたら、お教えいただけませんでしょう。 宜しくお願いいたします。

  • Excel VBA 複数のブックの複数シートから

    Excel VBA 複数のブックの複数シートからデータをコピーするマクロを作成したのですが、 コピー部分が上手く作動せず、訳の解らないデータが貼り付いてしまいます。 ちゃんとファイルは読み込んでいます。 、 VBA超初心者なので、うまく動作しませんでした。 どこが悪いのか教えて頂けないでしょうか。 やりたいことは ・同一フォルダ内に複数のExcelファイルがある ・各ファイル内には複数のシートがあり、シート数はファイル毎にばらばら ・各シートの構造は全て同じ ・VBAを保存してあるExcel(貼り付け用.xls)も同じフォルダに置いて作業します ・JEまとめ.ファイルの原本シートをコピーして、シート名に日付を入れたシートに ・全シート下記のセルのコピー(値、縦横変換)を日付をいれた原本コピーのシートに B1~3セル→A~C B4~5セル→G~H B6セル→J J22~24→D~F をシートの一番最初の行は見出しなので、その後上から順に値の貼付けをしたいのです。 エクセルは2003です。 宜しくお願いいたします。 Sub 集計コピー操作() Dim 集 As Workbook, 開 As Workbook Dim 原 As Worksheet, コピー As Worksheet Dim パス As String, フォルダ As String Dim 日付 As String Dim 紙 As Integer Dim 終 As Integer Dim 数 As Long '書込み行 '日付取得 日付 = Format(Date, "yyyymmdd") '新規シート追加 'シート名チェック Set 集 = ThisWorkbook For Each 原 In 集.Worksheets If 原.Name = 日付 Then 原.Activate Exit For End If Next 原 'シート作成 If 原 Is Nothing Then 'シート名が存在しない場合は作成 Sheets("原本").Copy Before:=Sheets(1) Set 原 = ActiveSheet 原.Name = 日付 Else End If 'Application.ScreenUpdating = False '画面ちらつき防止 'ファイル名設定 Set 集 = ThisWorkbook 'このbookをまとめとする。 パス = ThisWorkbook.Path 'このbookのパスを取得 フォルダ = Dir(パス & "\*.xls") 'フォルダ内のExcelブックを検索 Do Until フォルダ = Empty '全て検索 If フォルダ <> 集.Name Then 'book名がこのbookの名前でなければ 'コピーブックの設定 Set 開 = Workbooks.Open(パス & "\" & フォルダ) '開ファイルとする。 紙 = Worksheets.Count 'シートカウント For 終 = 1 To 紙 数 = 数 + 1 'シートループ処理 For Each コピー In 開.Worksheets With WorksheetFunction 原.Cells(数, "A").Value = コピー.Range("B1").Value 原.Cells(数, "B").Value = コピー.Range("B2").Value 原.Cells(数, "C").Value = コピー.Range("B3").Value 原.Cells(数, "G").Value = コピー.Range("B4").Value 原.Cells(数, "H").Value = コピー.Range("B5").Value 原.Cells(数, "J").Value = コピー.Range("B6").Value 原.Cells(数, "D").Value = コピー.Range("J22").Value 原.Cells(数, "E").Value = コピー.Range("J23").Value 原.Cells(数, "F").Value = コピー.Range("J24").Value End With Next Next 'ブッククローズ処理 開.Close (False) '保存せずに閉じる End If フォルダ = Dir 'フォルダ内の次のbookを検索 Loop Application.ScreenUpdating = True '画面ちらつき防止を解除 MsgBox 紙 & "件のファイルをコピーしました。" End Sub

  • エクセル(VBA)のブック間でのコピーペーストについて

    こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。

  • ブックを開いて閉じるVBA

    初めまして、ブックを開いて閉じるループのVBAについて質問させてください! 別添の画像のようなブックAの中に、「りんご」のように名前のついたシートが複数あります。(この数は変動します。来月は「ぶどう」が入るかもしれないし、「りんご」がなくなるかもしれません。) そして「新しいフォルダ」という名前のフォルダに、別添の画像のようにいくつかブックAのシートの名前を含むファイルが入っています。別添画像のように、シートの名前は必ず含むものの、ファイル名はバラバラで、「すもも」のようにシートにはないものもあります。そして、「みかん」のようにシートにあるのにファイルがない場合もあります。 このうち、ブックAに存在するシートの名前を含むファイルのみ開いて閉じるというループのVBAを入力したいのですが、どうすればよいのでしょうか…?!ちなみに、「すもも」のようにブックAに存在しないシートの名前のファイルは開かないでおきたいです。 「みかん」のようにシートはあるがファイルがない場合は、エラーを出さずそのまま次の処理をすすめたいです。 ちなみに、「新しいフォルダ」の存在する場所は 「C:\Users\PC〇〇〇\Desktop\新しいフォルダ\」です。 VBA初心者なので、なるべく簡素なものにしたいと思っています。 ご助力いただけると大変嬉しいです…!よろしくお願いいたしますm(_ _)m

  • EXCELで複数のファイルを同じブック内で開きたい

    久しぶりにVBAを使用してやらせたいことがありますので、質問です。 複数のCSVファイルがあり、これを同じブック内のシートとして開くことは 出来ますでしょうか。 メニューから開くとして、それぞれのファイルを開くと、別々のブックにて開いてしまいます。 これを同じブックで、シート別に開かせたいのですが、出来ますでしょうか。 さらに、これをVBAでやりたいと考えております。 まず考えたのは、 ”Application.GetOpenFilename”です。 ただし、これを利用すると、別々のブックでしか開くことができませんでした。 次に考えたのが、”QueryTables.Add”を利用することです。 これだと、同一ファイル、同一シート内にデータを取り込むことができるので、 問題ないのですが、ファイル名を指定しなければなりません。 ファイルが変わるたびにVBAでパスを修正するのは大変ですので、 ”QueryTables.Add”のデータ取り込みでファイル選択ダイアログが開くような コードがあればよいと考えております。 ファイル選択のダイアログが開いて、そのファイルのパスが取得できるような コードにすれば、”QueryTables.Add”にてデータの取り込みができそうなのですが、 どうすればよいか思いつきません。 "Dialogs(wdDialogFileFind)"というものも見つけたのですが、うまくいきませんでした。 何か良い方法がありますでしょうか。 よろしくお願いします。 Dialogs(wdDialogFileFind)

  • Excel VBA 複数のブックから新しいブックでひとつの表に集計

       A B 1   45 2   62 82 3   51 . . 複数のExcelファイルに上記のような表があります。「B列に数値が入力されており、なおかつA列に数値が未入力のセル」を、1個とカウントし、新しいブックでファイル名別に項目をつくり、表を作成したい考えています。↓ ファイルその(1)  4 ファイルその(2)  6 ファイルその(3)  0 VBA等で集計する方法はあるでしょうか。よろしくお願いいたします。

  • Excel VBAの違うBOOKへのコピーについて

    お世話様です excel vbaのコピーについての質問です C:\Documents and Settings\tanaka\デスクトップ\a というbookの中にあるsheet1のa1のデータ(以後a-a1と表記)を C:\Documents and Settings\tanaka\デスクトップ\b というbookの中にあるsheet2のc1にコピーしたい、と言った場合、 (以後b-c1と表記) それぞれのbookをactiveにしないとだめでしょうか (つまり、違うbookのファイル間でのコピーの際の質問なのですが) 私にはその方法しかわからず、この後 a-a11をb-d3へ、a-e11をb-s18へというアットランダムコピーが続くのですが、非常にコードも長く、時間がかかる処理になってしまいます。 どうか教えていただけると助かります 宜しくお願いします

このQ&Aのポイント
  • MG6930を使用している際に、CDやDVDなどのディスクにラベル印刷する際に、黒の印刷だけかすれる現象が起きています。掠れる部分は一部だったり全体的だったりしますが、A4印刷やカラーでのディスクラベル印刷では問題がないことが分かっています。
  • 純正のインクを使用しても問題は解消されず、すべてのインクを交換しても改善されない状態です。
  • 問題の原因として考えられることは何でしょうか。キヤノン製品に詳しい方のご意見をお待ちしています。
回答を見る

専門家に質問してみよう