• 締切済み

エクセルのマクロでファイルの保存先が見つからない

お伺いします。マクロ初心者です。 エクセルで、別ファイルからvlookupで該当のセルの数値をコピーするマクロなのですが、目的のファイルが見つからないというメッセージが出てしまいます。フォルダ名やファイル名はもちろん、ディレクトリも変更していないのですが、原因がわかりません。 'ファイルオープン F = Sheets("Info").Range("B1") & Format(YMD, "yyyy") & "年\" & Format(YMD, "yyyy年m月") & "\" & Format(YMD, "mdd") & "ファイル\" Workbooks.Open Filename:=F & Format(YMD, "m_d") & "仕入先別受注集計数.xls" のように指定しています。 申し訳ございませんが、お分かりになる方、どうかアドバイスをお願いいたします。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

確認ですが 手動では対象のファイルを開くことは出来ますか? Sheets("Info").Range("B1")の値はどうなっていますか? A~Zで始まっていますか、それとも¥¥で始まっていますか? >ローカルに移してやってみましたが結果は同様でした。 エクスプローラでローカルの対象ファイルを表示し エクスプローラのアドレス欄のアドレスをコピーし Sheets("Info").Range("B1")に貼り付けてから アドレスの最後に¥を追加して、実行するとどうなります

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

Workbooks.Open Filename:=F & Format(YMD, "m_d") & "仕入先別受注集計数.xls" を Workbooks.Open Filename:=F & Format(YMD, "m_d") & "\" & "仕入先別受注集計数.xls" に変更でうまく行くと思うのですが 違ってたら、ごめん

naka22
質問者

お礼

有り難うございました。 残念ながらかわりありませんでした。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>エラーメッセージはウィンドウズのポップアップのボックスで >「'2009年\2009年1月\126ファイル\1_26仕入先別受注集計数.xls' メッセージボックスの上部分には Microsoft Visual Basic 実行時エラー1004 とか表示ではないでしょうか? VBAからのメッセージであれば下に 終了 デバック のボタンがあると思いのですが?

naka22
質問者

お礼

>Microsoft Visual Basic 実行時エラー1004 とか表示ではないでしょうか? VBAからのメッセージではなく、WINDOWSからのメッセージです。赤い×マークの付いた。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>これも関係するのかと思い、ローカルに移してやってみましたが結果は同様でした。 ファイルはフルパスで指定するのが普通です。 ローカル:C:\ABC\DEF\GHI\filename.xls ネットワーク:\\PC_NANE\ABC\DEF\GHI\filename.xls

naka22
質問者

お礼

ありがとうございます。 でも、これまでは出来ていたのです・・・ 記述はなにも変えていないのに・・です。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>フォルダ名やファイル名はもちろん、ディレクトリも変更していないのですが ということは、今までは良かったのでしょうか? エラーが出たら、デバックを押して 黄色の部分で F とか YMD とかの部分にマウスを移動させてみてください。 変数にどういった内容が入っているのか確認できます。 フォルダの指定に間違いがないか確認できると思います。

naka22
質問者

お礼

ありがとうございます。 エラーメッセージはウィンドウズのポップアップのボックスで 「'2009年\2009年1月\126ファイル\1_26仕入先別受注集計数.xls'が見つかりませ ん。ファイル名およびファイルの保存場所が正しいかどうか確認して下さい。 [ファイル]メニューの最近使用したファイルの一覧からファイルを開こうとし ている場合は、そのファイル名が変更されていないこと、移動または削除されて いないことを確認して下さい。」 というものです。 モジュール画面での、黄色くマーキングされる部分はありません。 また、ファイルのある場所はネットワークハードディスクです。これも関係するのかと思い、ローカルに移してやってみましたが結果は同様でした。

関連するQ&A

  • エクセルマクロ ファイル名を変更したとき

    マクロ初心者です。 データファイルからシートを複写挿入するマクロです。 コピー先ファイル名を都度変更したいのですが、その場合マクロにコピー先ファイル名が入っているのでエラーになります。名前が変わっても実行できるようにするにはどうしたらよいのでしょう? なお、複写元のデータファイルは複写後に閉じます。 Workbooks.Open Filename:="データファイル.xls" Sheets("Sheet1").Copy Before:=Workbooks("コピー先ファイル名.xls").Sheets(1)

  • エクセルのマクロでファイルを自動で保存するには?

    こんにちは。お世話になります。 エクセルのVBAマクロ文の書き方でお知恵を拝借したいと思います。 さて、私のかかる業務でエクセルファイルで営業実績を出しています。 COBOLで作ったファイルをCSVにインポートして そのCSVの値を別のエクセルファイルで引っ張るという手順を踏んでいますが、 それをマクロで動かすとエクセル上で『保存しますか?』と聞いてきます。 答えは『はい(Y)』で確定しているので、その命令文さえ組み込められればいいのですが、 その命令文の書き方が判りません。 (解決したいVBAマクロの命令文) Workbooks.Open Filename:="D:\(Aファイル).csv" Workbooks.Open Filename:="D:\(Aファイルの値を引っ張るBファイル).xls" ThisWorkbook.Saved = True (ここで聞いてくる注意に自動で『Y』を入れたいと思っています。) ActiveWindow.Close ActiveWindow.Close 以上、お知恵を拝借したく、お願いいたします。

  • シートを別のブックに移動させたいのですが、

    シートを別のブックに移動させたいのですが、 マクロで作成するとこうなりました。 Workbooks.Open Filename:= _ "C:\Documents and Settings\YUUKORON\My Documents\YYYY.xls" Windows("GGGG.xls").Activate Sheets("2010.4YY").Select Sheets("2010.4YY").Move Before:=Workbooks("YYYY.xls").Sheets(1) が、移動先のブック名が移動させたいシートのセルF1に入力されているので、ブック名YYYYをどのようにすればよいのか教えてください。  Workbooks.Open Filename:= _   "C:\Documents and Settings\YUMIKO\My Documents\" & Range("F1").Value & ".xls" Windows("GGGG.xls").Activate Sheets("2010.4YY").Select  Sheets("2010.4YY").Move Before:=Workbooks("YYYY.xls").Sheets(1) 試してみた方法 Sheets("2010.4YY").Move Before:=Workbooks("("2010.4YY").Range("F1").Value.xls").Sheets(1)  Sheets("2010.4YY").Move Before:=Workbooks _ ("C:\Documents and Settings\YUMIKO\My Documents\" & Range("F1").Value & ".xls").Sheets(1) どれもダメでした。 あと、今は、Sheet(1)の前となっていますが、常にブックの先頭に移動させることはできるのでしょうか? シート名は、2010.5YY、2010.6YY というふうに毎月増えていく予定です。 初心者です。よろしくお願いします。

  • エクセル2000のマクロについて再び

    新しいブックを作りさらに他のブックで作成されているシートをコピーして移動するというマクロを作ります。この時、新しく作ったブックの名前がBook1にならないとその時点でマクロのエラーになりなってしまいますが、たまにBook2になってしまうときがあります。必ずBook1になると指定することはできないのでしょうか。 Sheets(Array("sheet1", "sheet2", "sheet3")).Select Sheets(Array("sheet1", "sheet2", "sheet3")).Copy →新しいシートを作成 Workbooks.Open Filename:="C:xxx\○○\△△.xls" Sheets.Copy after:=Workbooks("book1").Sheets(2) →ここで、Book1が存在しないとエラーになってしまう。 お願いします。

  • エクセルVBAでブックを開きたいのですが、

    エクセルVBAでブックを開きたいのですが、 アクティブシートを別のブックに移動させたいのですが、 まず、目的のブックを開く → 移動させたいシート名を右クリック → 移動またはコピー を選択 → 移動先ブック を選択  というふうにしようと思っていますが、 Workbooks.Open Filename:= _ "C:\Documents and Settings\YUMIKO\My Documents\YYYY.xls" のようにファイル名を入れると開くことができました。 が、   Workbooks.Open Filename:= _ "C:\Documents and Settings\YUUKORON\My Documents\Range("F1").Value.xls" のように、アクティブシートの セルF1にファイル名を入れて、開きたいのですが、どうしても開くことができません。いろいろ調べて試しましたが、無理でした。 基本的にマクロで記録で作っている初心者です。 回答よろしくお願いします。

  • エクセル マクロ 簡素化

    マクロ初心者です。 下記のデータのコピペする、マクロを使用しています。 下記にはAAAとBBBの2つのエクセルへのコピペのみしか記述していませんが、 その下に50ファイル分のファイル名、コピー元、コピー先だけが違うマクロが並んでいます。 メンテナンスや更新に手作業で行っているので、非常に時間がかかります。 例えば、別のシートにファイル名、コピー元、コピー先の一覧を作成し、 そのシートでファイル名、コピー元、コピー先を修正し、コピペができるようになるなど、 どうにかして簡素化したいのですが、どのように実現すればいいか、教えてくださると助かります。 ---------------------------------------------------------------------- Private Sub CommandButton1_Click()   Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\AAA.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("A1:B1").Copy wb.Sheets("CCC").Range("A1:B1").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\BBB.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("A2:B2").Copy wb.Sheets("CCC").Range("A2:B2").PasteSpecial (xlPasteValues) Application.CutCopyMode = False Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True 'アイテム名、コピー元、コピー先、だけがちがう、同じようなマクロが50ファイル分ある。 End Sub

  • エクセル マクロ セルからファイルを読み込む?

    いつもお世話になっています 早速ですが、フォルダー内のCSVファイルをシート2に書き出しているのですが その後、その部分(sheets2のa1から順に)を参照してファイルを開こうとするために Workbooks.Open(Filename:=myFile)を使用した場合カンマ区切りでは開かず羅列となるためWorkbooks.OpenTextをつかおうとしたのですが怒られてしまいます。 順次ファイルを読み込んで処理を自動で行い保存をして次のファイルと自動でフォルダー内を処理したいのですが その部分でつまってしまっています どうかよろしくお願いします。

  • ExcelのマクロでCSVファイルを開くと遅いのですが

    ExcelのマクロでCSVファイルを開くと遅いのですが速く開く方法はありますか? 普通にファイル-開くに比べてかなり遅いです。 下記のVBAで記述してあります。 Workbooks.Open Filename:=fname ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV, _ CreateBackup:=False ActiveWorkbook.Close savechanges:=False

  • ファイルを開くマクロ

    フォルダ(A)の中にエクセルファイルが(a,b)2つあります。aのファイルに下記のマクロを組んで、ボタンにマクロを貼り付けます。マクロでbのファイルを開きたいのですが、ファイルが見つかりませんとなってしまいます。フォルダ(A)は場所を移動して使う予定です。うまく動かなくて困っております。ご教授よろしくお願い致します。 Sub CCC()   s_PathCheck   Workbooks.Open Filename:=myWBPath & "b.xls" Sheets("P").Select Range("a11").Select End Sub Sub s_PathCheck() Dim n As Variant myWBPath = Workbooks(1).Path myWBName = Workbooks(1).Name n = InStr(myWBName, ".xls") myWBNameF = Left(myWBName, n - 1) End Sub

  • Excelマクロについて

    Excelマクロ(VBA)で複数のExcelファイルを一括で処理するプログラムを作っているのですが、処理対象のExcelファイルにはマクロが記述されていて、Excelを開く毎に記述のマクロが動いてしまいます。 対象のExcelファイルをオープンする時に、マクロを無効にして開くすることは可能でしょうか? 今現在、Excelファイル開く時に使ってる命令は、 Workbooks.Open Filenameです。

専門家に質問してみよう