• 締切済み

Excelのマクロを教えてください!!

転記するマクロを探していた所、下記の質問を見つけました。 https://okwave.jp/qa/q9554919.html また、watabe007さんの良い回答があった為、下記を参考にさせていただきました。 https://okwave.jp/qa/q9554919/a26683580.html ただ、同じファイル名が複数存在した時に古いファイルのみ転記されるようでした。 (例えば1.csvが3個ある場合、更新日時の古いファイルが転記されてました。) そこで質問ですが、同じファイル名が複数存在した時に1番新しいファイルのみ転記する事は可能でしょうか? 急な質問、大変申し訳ありませんがご教授お願いできないでしょうか?

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

sglkjakslgasさん、こんにちは セルの位置、csvが置かれているパス、どのように処理したいのか等 詳しく、教えてもらえませんか。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

DateLastModified プロパティの使用例 マイドキュメント内での最も新しいファイル Sub Test()   Dim FSO As Object, f As Object   Dim myPath As String   Dim Latestdate As Date   Dim Filename As String   myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")   Set FSO = CreateObject("Scripting.FileSystemObject")   For Each f In FSO.GetFolder(myPath).Files     If Latestdate < f.DateLastModified Then       Latestdate = f.DateLastModified       Filename = f.Name     End If   Next   MsgBox "最新のファイルは" & vbCrLf & Filename & vbCrLf & Latestdate End Sub 最も古いファイル Sub Test2()   Dim FSO As Object, f As Object   Dim myPath As String   Dim Latestdate As Date   Dim Filename As String   Latestdate = Now()   myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")   Set FSO = CreateObject("Scripting.FileSystemObject")   For Each f In FSO.GetFolder(myPath).Files     If Latestdate > f.DateLastModified Then       Latestdate = f.DateLastModified       Filename = f.Name     End If   Next   MsgBox "最も古いファイルは" & vbCrLf & Filename & vbCrLf & Latestdate End Sub

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

DateLastModified プロパティでファイルの更新日時を取得できるので 比べて新しい更新日時のファイルパスを変数に残していけば良いでしょう

sglkjakslgas
質問者

補足

大変申し訳ないですが、まだVBA始めたばかりで初歩的な事を理解できていないです。ソースコードを記載して頂くことは可能ですか?本当にごめんなさい。。

関連するQ&A

  • ExcelのVBAに関して教えてください。

    下記のようにCSVファイル名を複数入力してマクロ実行したら転記するようにしたいです。 やり方がわかる人いたら、教えてください。 (1)C10にa、C11にb、C12にc、C13にdを入力 (2)マクロ実行ボタンを押す (3)aのcsvファイルのG12~G36をD10~D34に転記。 ※aのパスは¥¥mm¥nn¥cc¥a.csv  bのcsvファイルのG12~G36をD35~D59に転記。 ※bのパスは¥¥mm¥nn¥yy¥b.csv  cのcsvファイルのG12~G36をD60~D84に転記。 ※cのパスは¥¥mm¥nn¥kk¥c.csv  dのcsvファイルのG12~G36D85~D109にを転記。※dのパスは¥¥mm¥nn¥bb¥d.csv  難しい点は最下層のフォルダが異なっている点です。。  最下層のフォルダ違うが、csvファイルを転記する方法はありませんか?

  • エクセル マクロ

    エクセルマクロで、複数ファイルにある全シートの情報を、別ファイルの1シートに転記したいのですが、なかなか上手く行きません。(ほぼ初心者です。) 詳細は↓です。どなたかご教授の程よろしくお願いいたします。 【やりたいこと】 同一フォルダ内にある約60個のファイルの、全てのシート内の情報を別の集計用ファイルに転記する。 (1) ファイル毎にばらばらなシート名&シート数で、これら全てのデータを集計用ファイルに転記するには?(シート数は1ファイルあたり1シートから最大13シート) (2) 以前に似たような作業をした時は、ファイル名をいちいち集計用ファイルにコピペして読み込ませたが、こうした手間を掛けずに一括処理するには? ※転記作業自体は「マクロの記憶」機能で書き出すので、それ以外の、特に始まりと終わりの部分を教えて下さい。 ※転記内容自体はあまり複雑ではなく、集計用ファイルに1シート1行として転記し、ズラッと下に120行書き込むつもりです。 説明が分かりづらい部分があればご指摘ください。よろしくお願いいたします。

  • 複数CSVファイルからEXCELへ取り込み

     複数のCSVファイルを読み込んでEXCELのシートにまとめるやり方は,以前にOKWaveのページでmerlionXXさんがbatwithさんの質問に答えているのがあって,参考にさせていただきました。  そこでそのアレンジとして次の様に変更したいのですが,教えていただけないでしょうか?  複数CSVファイルからのデータ読み出しは同じですが,読み出し時にCSVファイルの指定範囲のデータを足したり,平均とったり,最大値・最小値を検索したりして,その結果のみをEXCELに追記していきたいのです。つまりCSVファイルからデータそのものをEXCELに転記してから計算や検索をすれば目的は達成出来ますが,データそのものをEXCELに転記する必要はないため,計算や検索の結果のみを転記してEXCEL表を小さくしたいのです。  ちなみにCSVファイルは毎日1個できる同じフォーマットのファイル。EXCELファイルは日付ごとに1行のデータ集計結果が追記される表です。  どなたかよろしくお願いいたします。

  • マクロの転記で keithinさん

    すみません、http://okwave.jp/qa/q7936835.htmlで質問したものです。 これを実行したのですが、2回目以降の操作で、転記されるシート2がまた2行目から始まってしまうため、先に転記されたものが上書きで消えてしまいます。 追加分は下に足していく形にしたいのですが…

  • 複数のブックを新しいブSheet1にまとめたい

    以下のような回答を見つけましたが、制約があります。 http://okwave.jp/qa/q4225063.html 1.シートの見出しが各自違う 2.csvファイルである 2はマクロ中の拡張子をかえれば対応できると思うのですが、1はcsvに適応できるマクロなどあるのでしょうか。一括で複数のシート名を変えるマクロ教えていただけますか。

  • コマンドプロンプトのリダイレクトについて

    こんにちは 先ほど↓のような質問をして解決したのですが、… https://okwave.jp/qa/q9520645.html この結果をCSVファイルに保存したいのですが >result.csvを書き足してもダメでした。 どなたかお分かり方おりましたらご協力お願い致します。

  • このようなエクセルマクロを組みたいのですが...

    下記のようなマクロを組みたいと思っていますが、 知見がほとんどないので教えていただきたいと思います。 "csv"というフォルダにランダムなファイル名でcsv形式のファイルが100以上保存されています。 目的は、 そのcsvファイル内の一部のデータをひとつのファイル(ファイル名を"まとめ"とします)に移して並べたいと思います。 <前提> "csv"フォルダと"まとめ"ファイルは既に開かれている状態とします。 "まとめ"ファイルを開いた状態で、マクロを走らせると、 (1)csvファイルが開く (2)セルA1とB1をコピー (3)"まとめ"ファイルのA1、A2へ貼り付け(行と列を変更) (4)csvファイルを閉じる (5)次のcsvファイルが開く (6)セルA1とB1をコピー (7)"まとめ"ファイルのB1、B2へ貼り付け(行と列を変更) (8)csvファイルを閉じる 以降、"csv"フォルダの中身をすべて処理できるまで繰り返し。 という風に考えていますが、 当方あまり知識が無くアレンジが難しいためできる限りシンプルにと考えています。 そのため、もしこうした方が...等あればアドバイスいただけるとありがたいです。 すみませんがよろしくお願いいたします。

  • エクセルマクロ、複数のCSVファイルを読み込んで一つのファイルに繋げる方法

    別質問で教えて貰った方法(下記URLの#2)で、複数のCSVファイルを 読み込むマクロはわかったのですが、それらのファイルを一つに まとめる方法がよくわかりません。 新しいシート(or結果保存用のブック)を用意して、ここに順に繋げて いきたいのですが、どうしたら良いのでしょうか。 ちなみに、入力されるCSVファイルのデータの入っている列数は固定 なのですが、行数はファイル毎に異なります。 <大元の質問> http://oshiete1.goo.ne.jp/kotaeru.php3?q=359726

  • エクセル マクロが表示&保存できません

    すごく困っているので教えていただけると助かります! エクセル マクロに関することです。 https://okwave.jp/qa/q6262479.html ↑ こちらに似たような質問がありますが、この解決法ではマクロ表示されませんでした。 状況としては以前まで問題なく使えていたマクロ記録が全て消えてしまい、個人用マクロブックが消えてしまったのかと思い確認してみると確かに存在していました。 よく見る解決方法として「ファイル」→「オプション」→「アドイン」→「管理」→「使用できないアイテム」→「有効にする」とありますが、ここには最初からPERSONAL.xlsbは表示されていませんでした。 もともとエクセルには詳しくないので、どなたかご教授いただければ幸いです。宜しくお願いいたします。

  • エクセルマクロ プルダウンリストの拡張子を省く

    お世話になります。 既に解決としました http://okwave.jp/qa/q7131441.html の結果、プルダウンリストに拡張子まで表示されるのですが、拡張子なしで表示する方法を探しています。 動作の最後にこのファイル名も使った新たなファイル名で保存するのですが、保存ファイルに拡張子が2つ入ってしまう事になります。保存指定で省けるかも?と考えましたが、A1のファイル名をどちらも同じ変数で扱いますので初級の私には難しいです。 この件は前回質問時に織り込もうとしたのですが、自分でなんとかできるだろうと過信していたところ、結果できずにいます。よろしくお願いします。

専門家に質問してみよう