• 締切済み

エクセル vba サブフォルダ名

申し訳ございませんが、教えて下さい。 新規フォルダ内に 1.xls とフォルダBが存在し、B内にフォルダK、Jが存在します。 【新規フォルダ】    |_______★1.xls    |    |_______【B】      |      |________【K】      |     |________★KKK.xls      |      |________【J】            |________★JJJ.xls .LookInを使用して【B】以下を検索し、 ★KKK.xls★JJJ.xls のデータを1★1.xls Sheet2へ順次貼り付ける予定です。 FileName = ActiveWorkbook.Name (←★1.xlsなので\新規フォルダまでのパス) .LookIn =FileName で検索は可能なのですが、どうしても★1.xlsを見てしまいます。 FileName の値を \新規フォルダ\B にするか、1.xlsを除くエクセルファイルを検索する にプログラムを組みたいのですが、どうすれば宜しいでしょうか・・・・・。 以上、宜しくお願い致します。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

単純に取得した『リスト』から 1.xls を排除すれば良いのでは? Application.FileSearch 以下の部分だけでも提示した方が回答が得やすいかと思いますよ。 PS. OSとExcelのバージョンもお忘れなく。

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

関連するQ&A

  • VBAでフォルダにあるエクセルファイルを開く

    こんにちは このコードがうまく動かないのですが、 どこがいけないのかわからなく助けてください。 なおフォルダの中には******データ.xlsと言うファイルがあり、アスタリスク部分は日付が不規則に変化して上書きされるのです。 このファイルを開くマクロを作りたいのですが。 うまく行きません。 よろしくおねがいします。 Sub excelopen() ' ' Dim エクセル As String 'エクセル = Dir(ActiveWorkbook.Path & "\*データ.XLS") If エクセル = "" Then Exit Sub エクセル = ActiveWorkbook.Path & "\" & エクセル Workbooks.Open Filename:=エクセル End Sub

  • 【VBA】フォルダ指定の方法【Excel2000】

    独学で学んでいるVBA初心者です。 Summary.xlsにLog.xlsの内容をコピーするマクロを作りたいと思っています。 しかしDataフォルダは一定の場所にあるわけではないので相対パスで指定したいと思っています。 いろいろ自分なりに調べて Workbooks.OpenText Filename:=ActiveWorkbook.Path & "\..\Log\Log.xls" と記述したのですがLog.xlsが見つかりませんとエラーがでてしまいます。 (図中のData,Summary,Logはフォルダ名です。) Summary.xlsを基準にした相対パスでLog.xlsを開きたい時にどう記述すればいいのか どなたかご教授下さい、お願いします。

  • EXCEL フォルダだけを検索したい

    EXCEL2003を使っています。 開いているファイルと同じフォルダ内に「テストフォルダ」があるかどうかを調べ、存在した場合に削除したいのですが、以下のような書き方ではフォルダだけでなくファイルも検索してしまうようです。 フォルダだけを検索するにはどうしたらいいでしょうか? FSOでできることは分かっていますが、以下の方法で試してみたいのです。どうぞ宜しくお願い致します。 Sub test() my_path = ActiveWorkbook.Path & "\" f_name = Dir(my_path, 16) Do Until f_name = "" If f_name = "テストフォルダ" Then RmDir "テストフォルダ" End If f_name = Dir() Loop End Sub

  • エクセル VBA についてご教授願います。

    ActiveWorkbook.SaveAs Filename:= "C:\Documents and Settings\ユーザー名\材料明細\" & Range("A1").Value & ".xls" このコマンドで、材料明細に("A1")の値のファイル名で保存しています。 材料明細にいくつかのフォルダがあります。そのフォルダを選択して、("A1")の値のファイル名で保存する方法を教えて下さい。

  • VBAで特定のフォルダ内のエクセルファイルをPDF

    VBAで特定のフォルダ内のエクセルファイルをPDFに変換する作業しているのですが Filename:=ThisWorkbook.Path & "\" & Replace(f.Name, fs.GetExtensionName(f.Path), "pdf"), _ 出来上がったファイル名を コード_日付にしたく Filename:=ThisWorkbook.Path & "\" & ("コード") & Range("B9") & ("_") & Format(Now, "yyyymmdd") & ".pdf", _ に入力したのですがB9セルのコードが入りません。 どこが間違っているのでしょうか?

  • Excelシート1シートのみを指定フォルダへ保存

    Excelのシート1のみを、本日の日付と名前の入ったセル(I7)を保存する時の名前にして指定したフォルダへ保存したいと思っています。 1、シートは本日の日付+I7セルに入っている値を名前にする。 2、フォルダはCではなくV:\○○\○○\○○\○○\○○\○○\○○に格納 3、シート1以外のシート2、シート3は保存せず閉じる 4、格納後○○に保存しました。と表示 試行錯誤し、下記のように記述してみたのですが、 Sub Macro1() 'Option Explicit Sub Sample() Dim xSheet As Worksheet Dim myFile As String Dim myName As String Set xSheet = ActiveSheet ThisWorkbook.Worksheets("シート名").Copy 'myName = ActiveWorkbook.Worksheets(1).Name 'myFile = ThisWorkbook.Path & "\" & myName & ".xls" myFile = ThisWorkbook.Path & "\" & xSheet.Range("I7").Value & ".xls" Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=myFile Application.DisplayAlerts = True ActiveWorkbook.Close End Sub 日付を指定して保存 Sub test()  Dim Filename As String  Filename = Format(Date, "yyyy年mm月dd日") & ".xls"  ActiveWorkbook.SaveAs "C:\My Documents\" & Filename End Sub 日付とI7セルの名前を合せてブックの名前としたい場合どうVBEで記述すればいいのかわからないので詳しい方がおられましたら、 よろしくお願いいたします。 あまり詳しくないので、そのままコピーできるか、○○の部分を指定フォルダ名に変えてください。等の注釈を付けていただけると助かります。

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • このコードの間違い箇所が解りません!

    tes1 の .xls と同じフォルダに 「tes2.xls」 という名前で保存し、閉じる。 というコードなんですが、「tes2.xls」 がなくなってしまいますが、どこが間違ってますでしょうか? 以上 よろしくお願い致します。  --------- Sub tes1() ActiveWorkbook.Close SaveChanges:=True, _ Filename:=ActiveWorkbook.Path & "\tes2.xls" End Sub ---------

  • Excel VBAにて別のExcelファイルを開く

    現在、ExcelファイルVBAにて別のExcelファイルを開こうとしています。FileSystemオブジェクトを利用してオープンはできるのですが、当然そのファイルをどなたかが利用していると「書き込みできません」とのメッセージが出てきます。これを回避するためにオープンするExcelファイルがすでに誰かに開かれているかを判定できる方法はございませんか?WSHやAPIを利用してもかまいません。以下にロジックを書いておきますので、どうかよろしくお願いいたします。緊急度は大変高いです。 'ErrorFileフォルダ内のエクセルファイルが存在するかを判定 Do Until fs.FileExists(buff) = False 'ErrorFile内のエクセルファイルを取得 Set f = fs.GetFile(buff) 'FileSystemオブジェクトでErrorFile\logフォルダ内の同一名称ファイルが存在するかを判定 If fs.FileExists(f.ParentFolder & "\log\" & f.Name) = True Then '存在していたら、ファイルを削除 ←この部分で誰かがファイルを開いているとエラー        fs.DeleteFile f.ParentFolder & "\log\" & f.Name End If 'ErrorFileフォルダ内のファイルをErrorFile\logフォルダに移動 fs.MoveFile f.Path, f.ParentFolder & "\log\" & f.Name 'マクロが動作しているパスにErrorFileフォルダ内のエクセルファイル名をフルパスで取得 buff = ActiveWorkbook.Path & "\ErrorFile\" & Dir("ErrorFile/*.xls", vbSystem) Loop どうか、解決策を返信いただければ幸いです。

  • エクセルVBAで、PDFファイルを開きたい

    セルに入力した値のブック(xls)を開く場合、 以下となりますが、↓ Sub セルに入力したブック名のブックを開く() ブック名 = Cells(1, 2) 'B1セルの値を取り出す Workbooks.Open Filename:=ブック名 & ".xls" '指定されたブックを開く End Sub これでPDFファイルを開きたいです。 記述をどうしたらよいでしょうか。 目的はPDFファイルの検索/照会をxlsにてしたいのです。 お手数ですがお願いいたします。