• ベストアンサー

VBAによるファイルの起動について

Aというファイルに、B及びC及びDというファイル名及びパスを記述し、Aのマクロにてそれらを参照し、B・C・Dのファイルを起動するというマクロを 組んでいるのですが、B及びCは問題なく起動するのですが、Dのファイルは起動しません。 ファイルパスが記述されているのは、AというファイルのA列に記載しているのですが、A列が空白になるまで処理を行うようにマクロを作成しております。 ちなみにDのファイルが起動しないので、(実際にはファイルパスは記載されております)Msgboxを使用してDのファイルが書かれている場所は何が表示されるか確認してみたところ、"84201"というよくわからない値が表示されてしまいます。 そのために、Dのファイルが起動できないのですが どうしたらこの事象を解消できるのでしょうか? ちなみに空白になるまで行うという命令は DoWhile cells(i,1)<>"" ・・・・・ loop と記載しております。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >Aのマクロにてそれらを参照し、B・C・Dのファイルを起動するというマクロを組んでいるのですが、 単純に、B・C・DのファイルというのはExcelのブックだとすれば、それらを全部開けるというのは、限界があると思うのですが。 ファイルを起動する場合は、一旦、ファイルのあるなしを調べて開けるようにします。 If Dir(Fname) <> "" Then   Workbooks.Open Fname End if それ以上は、コードもないし、そのファイルを開けて何をするかも分らない状態では、現時点ではわかりませんね。

その他の回答 (1)

noname#112806
noname#112806
回答No.1

すみませんが、質問文では原因が分からないのでもう少し詳しい状況説明をお願いします。 1.どのようにファイル名及びパスを記述しているのか 2.VBAでの処理はどのように行っているのか

関連するQ&A

  • VBAによるファイルの起動について

    お世話になっております。 ファイルAにマクロを作成し、ファイルAのパスを求めます。 そして、ファイルBを開き、ファイルAのパス名でフィルタをかけ(仮にA列とします) それに対応するファイル名を求めます。仮にc列とします。 この場合、C列に書かれているファイル名(仮にファイルC)を起動するにはどうしたらよいのでしょうか? そもそもこんな事を考えたのは ファイルAに起動するファイル名を書いておき、起動することはわかるのですが、 今後起動する”ファイルC”の数が増えることが予想され、メンテナンスの面から ファイルAの存在するフォルダより起動する”ファイルC”を対応させたテーブル この場合”ファイルB”を作成し、そこのメンテナンスさえ行えば、ファイル数の増減にも 楽に対応できるのではと思ったからです。 そもそもこのような事は無理なのでしょうか? わかりづらい文章かもしれませんが、 宜しくお願い致します。

  • exlel  繰り返し マクロ VBA

    エクセルのシートで    A    B  1空白   100  2空白   A  3空白   B  4空白   C  5空白   空白  6空白   空白  7空白   200  8空白   A  9空白   B 10空白   空白 11空白   300 12空白   A 13空白   B 14空白   C 15空白   D 16空白   空白 上記のデータを下記の様に空白行をはさんだ不特定行のB列の各行のはじめのセルの値をA列に書き込んでいくマクロをお教えください。    A    B  1100    100  2100    A  3100    B  4100    C  5100    D  6空白   空白  7200    200  8200    A  9200    B 10空白   空白 11300    300 12300    A 13300    B 14300    C 15300    D 16空白   空白 お願い致します。

  • VBA マクロについて教えて下さい!

    VBA初心者です。 以下の様なマクロを組みたいのですが、マニュアル片手に四苦八苦しております。 どなたかお力をお貸し下さいm(__)m ・A列 区分(A OR B) ・B列 番号(○○○○-○○○○) ・C列 番号前(‐より前を表示したい) ・D列 番号後(‐より後を表示したい) A列・B列にはデータが入ります。 B列の番号を‐(ハイフン)で区切って、C列・D列にそれぞれ転記したいのです。※区分が”A”の場合のみ。 区分が”B”の場合はC・Dは空欄のままで。 Excelの[データ]-[区切り位置]を使って操作を記録してみましたが、”B”の場合は空白にするという条件文を巧く組み合わせる事が出来ません... 他にも色々方法はあると思うのですが、なかなか辿り着く事が出来ません。 どなたかアドバイスをお願い致しますm(__)m

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • VBA ファイルオープン

    EXCEL2007使用。 いつもお世話になっております。 素人ですが、宜しくお願いいたします。 Sheet上にファイルパスがあり、 それを変数にマクロでBOOKをオープンしたいのですが、、 下記のマクロでは実行時エラー'1004 「D:\TestBook\test.xlsmが見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください」 と表示されます。 Sheet2に下記   A  B      C   1         ファイルパス 2        -------------------- 3        D:\TestBook\test.xlsm 4        D:\TestBook\test2.xlsm 5        D:\TestBook\test3.xlsm ----------------------------------------------- Private Sub CommandButton8_Click() Dim MDate As String Dim i As Integer, Cnt As Integer '項目件数をカウント Cnt = Worksheets("sheet2").Cells(500, "C").End(xlUp).Row - 2 For i = 1 To Cnt DtName = Worksheets("sheet2").Cells(i + 2, "C") MDate = DtName Workbooks.Open Filename:=MDate AWBN = ActiveWorkbook.Name Application.DisplayAlerts = False 'メッセージを非表示にする Workbooks(AWBN).Close Application.DisplayAlerts = True Next i End Sub ------------------------------------------------------------------------- マクロ記録からコピーしたファイルパスなら正常に開けるのにですが・・・    マクロ記録のパス D:\TestBook\test.xlsm ○ sheet2のセルCにある D:\TestBook\test.xlsm × パス名に間違いはないと思います。また保存場所も間違いありません。 何かアドバイスいただける方、宜しくお願いいたします。

  • VBA 別ファイルの空白行を探す

    すみません、よろしくお願いいたします。 <前提> Aファイル・・貼り付け元(マクロを組み込んでいるのはこちら) xファイル・・貼り付け先(ファイル名が一定ではない・シートは1つでシート名は固定) <質問内容> Aファイル、xファイルともに開き、 AファイルのデータをxファイルのA:B列(結合している)の空白行へ 貼り付けという作業をしたいと思っています。 xファイルの名前がかわってしまうので、 どちらのファイルも開いていて、 この二つのファイル以外は開いていないという前提で、 Windows(2).Activate でxファイルを指定するところまではできたのですが、 (教えてgooで教えていただきました) xファイルのA:B列の空白行を探して貼り付けというのを どうVBAで記述したらいいのかわかりません。 すみませんが、わかるかたお願いいたします。

  • VBAの記述がわかりません

    エクセル2010を使用してるのですが A列に不規則な空白がある数字があります。 B列にA列の空白を除いた数字を上から詰めて表示させたいのですが VBAの記述がわかりません。 よろしくお願いいたします。

  • excel2003 VBAマクロの作成

    すいません、下記のような条件を満たすマクロのサンプルコードをお願いします。 ■前提条件 ・「検索元データ」はマクロ.xlsの中にある ・「検索先ファイル」は管理ファイル.xlsである ・マクロ.xlsファイルのA列にはデータがn個ある(セル範囲A2:A(n+1)まで) ・C:\one\two\three\管理ファイル.xls のフォルダ位置である(絶対パスで指定する) ・管理ファイルの中にはSheet1,Sheet2,Sheet3・・・・Sheet10の10コのシートがある ■マクロでしたいこと (1)A列のデータが管理ファイル(ブック内)に記載されているかチェックする (2)A列のデータをチェックしたら、下記の通りに列にチェック情報を記載する B列 データがいくつあったか(管理ファイルに記載されていない場合は0と表示) C列 データが記載されているシート名(B列が0の場合は0と表示) (3)次のデータへ (4) (1)-(3)をA列のデータがなくなるまで繰り返す (5)データがなくなったら終了(保存せず閉じない) 以上です。 よろしくお願いします。

  • VBA 地名を抽出し、セルごとに分ける3

    https://okwave.jp/qa/q9700177.html 上記は地名を抽出し、「抽出」シートのA2から分けるように並べるといったマクロを実行しています。 A列  B列  C列  D列  E列 地名  空白  地名  空白  地名 といった一つの列を飛ばして並べたいです。 下記がイメージ画像です。 宜しくお願いします。

  • 【VBA】同一ディレクトリ内のファイル名取得とA列

    【VBA】同一ディレクトリ内のファイル名取得とA列、B列のコピペ A.xlsに同一ディレクトリ内にあるyyyymmdd.csvファイルを順に読み取り A.xlsの A1に対象ファイル名 B列に対象ファイル内のA列をコピペ C列に対象ファイル内のB列をコピペ 次のファイルはD1 その次はG1 ・ ・ といった処理をさせたいです。 どのように記述すればよいでしょうか。 よろしくお願いしますm(._.)m

専門家に質問してみよう