ここから本文です

ExcelのVBAで、セルに入力されている値からブック名を指定して操作したいです。 ...

shu********さん

2017/5/3113:08:26

ExcelのVBAで、セルに入力されている値からブック名を指定して操作したいです。

VBA初心者ですが、異なる複数のブックに記録されているデータを集計しようと思っています。

その対象となるブック名には日付などが入っているため、
集計用のブック内に「日付を入力するセル」と、それをもとにして「ブック名を文字列として返すセル」と、「そのパスを文字列として返すセル」を対象となるブック分、用意したのですが、
これらを参照して複数のブックを開いたり閉じたりしようとすると上手く行きません。
いろんなサイトを参考にして自分なりに試行錯誤してみたのですが……

やりたいことは
Book1(Sheet1)内のセルA1およびセルA2には別のブック名が、A3A4にはそれぞれのブックのフルパスが入力されているとして、

① それらの名前をつけられたブックが指定されたパスのフォルダ内に存在するかどうかをチェックする(もし無かったらそのパスを示すメッセージを返す)
② それらのブックがすでに開かれているかをチェックする(もし開かれていなかったらそのブック名を示すメッセージを返す)
③ それらのブックが指定したフォルダ内に存在し、かつすべて開かれている場合、それらのブックをすべて保存して閉じ、再度すべて開く

です

どうにも行き詰まっているのでお知恵を貸していただけたらと思います。

閲覧数:
232
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

kky********さん

2017/5/3113:39:18

>Book1(Sheet1)内のセルA1およびセルA2には別のブック名が、
>A3A4にはそれぞれのブックのフルパスが入力されているとして、
ブック名とかフルパスというは紛らわしいので、実際に4つのセルに何が入っているのか補足して下さい。
フォルダを明示したくないなら○○でもいいです。

A1:Booka.xlsx
A2:Bookb.xlsx
A3:C:\Data\○○
A4:C:\Data\△△
のようにお願いします。

ブック名に拡張子まで入っているのか、フルパスの方はフォルダだけなのか、ブック名までなのか、これによってマクロの書き方が違います。

それから③についてですが
保存して再度開くとは、どいう事でしょう。開いて上書き保存では意味ないです。Book1のどこかのシートに集計するのだと思いますが、どの項目をどう集計するのかの説明が抜けています。

  • 質問者

    shu********さん

    2017/5/3114:05:23

    分かりづらかったようで申し訳ありません

    「くだものかご.xlsx」というブックがあったとして、そこのA1、A2、A3、A4に

    A1:りんご_20170507(その日の日付).xlsx
    A2:ばなな_20170507(その日の日付).xlsx
    A3:C:\くだもの\りんご¥りんご_20170507.xlsx
    A4:C:\えんそく\おやつ¥ばなな¥ばなな_20170507.xlsx

    という文字列がそれぞれ入ってるみたいな感じです

    なお③についてですが、
    別のアプリケーションが管理しているデータをエクセルファイルに出力させたとき、
    一度は閉じないと「くだものかご.xlsx」に「りんご_20170507.xlsx」やら「ばなな_20170507.xlsx」やらのデータが参照されないという現象があり、
    その解決は自分の仕事ではないため(一応報告はしています)、こちらでできることは閉じて開くことなのです

    どの項目をどう集計するかはおおよそできあがっており、ネックとなっている部分が質問の内容です

  • その他の返信(5件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

hdu********さん

2017/5/3113:34:11

どう上手く行かなくて、

何を訪ねたいの?

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる