Prome_Linのプロフィール

@Prome_Lin Prome_Lin
ありがとう数826
質問数129
回答数919
ベストアンサー数
201
ベストアンサー率
42%
お礼率
86%

  • 登録日2009/09/13
  • 性別男性
  • 職業自営業
  • 年代60代
  • 都道府県京都府
  • VBA 複数のファイルの特定の列だけ取得してマージ

    お世話になっております。 VBAで、複数のCSVファイルの特定の列だけを抽出して別のCSVファイルにマージする方法を探しています。 例えば、マージフォルダに1000のCSVファイルがあります。 1000あるファイルのA列とC列だけを抽出して、 それを別の「マージ.CSV」というファイルにA列とB列にマージして一つにしたいのです。 1000のファイルにはA~Qまで値が入っていて、A~Q列の値全て取り込みマージするとデータが重くなってしまうのです。 Unionメソッドを仕様して列を選択するのかなと思うのですが。。。 現在、こちらのコードを参考にしています。 わかる方いましたらよろしくお願いいたします。 Sub csvmerge() wpath = Range("B3") wfile = Dir(wpath & "\") flag = 0 Do While wfile <> "" If InStr(wfile, ".csv") Then flag = flag + 1 If flag = 1 Then FileCopy wpath & "\" & wfile, ThisWorkbook.Path & "\output.csv" Open ThisWorkbook.Path & "\output.csv" For Output As #1 Close #1 End If Open ThisWorkbook.Path & "\output.csv" For Append As #1 Open wpath & "\" & wfile For Input As #2 Do Until EOF(2) Line Input #2, w_str Print #1, w_str Loop Close #2 Close #1 End If wfile = Dir() Loop MsgBox "マージ完了", vbInformation End Sub

  • CSVをExcel2007に取り込む方法について

    CSVファイルをエクセルに取り込みたいと思います。 CSVファイルはカンマでデータを区切っています。 ただ、カンマで区切られたデータの中に、改行コードが含まれている場合があります。 エクセルで、このCSVデータを読み込む場合、セルの中で2行目以降はとぎれてしまいます。 そこで、下記のサイトで、「引用符で囲まれた改行を無視」というエクセルの 機能があることを知りましたが、Excel2007にはこの機能はないのでしょうか? https://tsukaeru-excel.com/line-feed-code-csv-powerquery 最近のバージョンのExcelには標準でそなわっているようです。

  • ExcelVBA内のVBSで別ブックを開いたとき

    ブック1で、誰のPCからでもセキュリティの警告を出さないようにブック2を開くVBSを実行し、ブック1で使用した変数xの値をブック2に渡すということをやりたいのですが、上手くいきません...。 ブック2を開く所まではできたのですが、ブック2のセルに変数xの値を入れようとすると、エラー「インデックスが有効範囲にありません。」が発生し、そもそもブック2をアクティブにできません。 ファイル名・パス等は絶対に間違えていないと思います。 原因とどう修正すれば良いか、教えて頂けないでしょうか。 下記が簡略化したプログラムになります。 Book1のプログラム Sub Book1() Dim x As String x = "aaa" CreateObject ("Shell.Application") CreateObject("Shell.Application").ShellExecute "○○.vbs" Workbooks("Book2.xlsx").Sheets("Sheet1").Range("A1") = x End Sub ---------------------------------------------------------------------------------------------------------- VBSのプログラム Dim strExcFileName Dim objExcApp strExcFileName ="○○¥Book2.xlsx" Set objExcApp = WScript.CreateObject("Excel.Application") objExcApp.Visible = True Call objExcApp.Workbooks.Open(strExcFileName,,True) objExcApp.DisplayAlerts = False WScript.Quit 以上、宜しくお願い致します。

  • 大量のファイルの名前を一括して変更する

    本のデータベースをcsvファイルに落としました。データ数は1000件です。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・m123456789123456780.jpg・m023456789123456789.jpg 2・世界史・m123456780123456789.jpg・空白 3・神学論・m123406789123456789.jpg・m123456789123056789.jpg これを以下の仕様に変更したいのです。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・1-1.jpg・1-2.jpg 2・世界史・2-1.jpg・空白 3・神学論・3-1.jpg・3-2.jpg jpgファイルは約1200個で専用フォルダに入っていますが、ファイル名に「m123456789123456789.jpg」の規則性があるものの、数値部分が任意です。 win10を使っています。エクセル等のオフィス製品はあります。 よろしくお願い致します。

  • 大量のファイルの名前を一括して変更する

    本のデータベースをcsvファイルに落としました。データ数は1000件です。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・m123456789123456780.jpg・m023456789123456789.jpg 2・世界史・m123456780123456789.jpg・空白 3・神学論・m123406789123456789.jpg・m123456789123056789.jpg これを以下の仕様に変更したいのです。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・1-1.jpg・1-2.jpg 2・世界史・2-1.jpg・空白 3・神学論・3-1.jpg・3-2.jpg jpgファイルは約1200個で専用フォルダに入っていますが、ファイル名に「m123456789123456789.jpg」の規則性があるものの、数値部分が任意です。 win10を使っています。エクセル等のオフィス製品はあります。 よろしくお願い致します。