• ベストアンサー

エクセルやCSVで内容が検索にかからない

CSVやエクセルファイルを1つのフォルダーで管理しているにもかかわらず普通のファイルの検索だとかかるときとかからない時があります(かからない時がほとんど)。うまく検索する方法はありますでしょうか?またそれとは別に例えばエクセルデータをダウンロードした時に常に1つのエクセルファイルにまとめるようにすることは可能でしょうか?ダウンロードしてからの結合でもいいです。いくつかのエクセルファイルを1つに結合してシート別になっているようにできると上記の検索の問題も解決します。どなたかご教授お願い致します。

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

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

こんばんは。 スタート-設定-フォルダオプション フォルダオプションの「表示」には、  ・すべてのファイルを表示するに黒丸は入っていますか? ファイル検索で、拡張子で、*.csv とすれば、出てきますね。 >エクセルファイルを1つに結合してシート別になっているようにできる CSV ファイルをインポートして、シート別で、ブックで管理するということでしょうか? 以下のマクロを空のブックで試してみてください。 Alt + F11(Altキーを押しながら、F11を押す)て、Visual Basic Editorを出す。 メニューの挿入-標準モジュールをクリック 以下を貼り付けて、 ユーザー設定の部分を変更する。 (しなくても、動きます。) 再び、Alt + F11 で閉じる。 後は、フォームツールバーから、ボタンをクリックして、シートに貼り付けて、 マクロの登録で、CSVImport2Sheet に登録 または、ツール-ユーザー設定-ツールバー[タブ]で、新規作成 ツールバーに名前をつけ、 コマンド[タブ]をクリック 分類-マクロ- ニコチャンマークをそのツールバーにドラッグして貼り付ける。 選択したボタンの編集をクリック マクロの登録で、CSVImport2Sheet に登録 ニコチャンマークは、メニューからボタンのイメージの編集で換えられます。 このマクロは、CSVのインポートを左の空のシートから入れるものです。 なお、最初の1番目のシートは、管理用としてボタンをつけておくとよいかもしれません。ただし、2セル以上、何でもよいので文字や数値を入れておかないと、そのシートにもインポートされてしまいます。シートを空にすれば、上書きも可能です。(同じ名前が既にある場合は、シート番号のままの時があります)シート名は、ファイル名になります。 '<標準モジュール登録> Option Explicit Sub CSVImport2Sheet()   Dim orgHolder As String, rw As Long, i As Long, j As Long   Dim Fname As String, ShtCountTmp As Integer, FNo As Integer, TextLine As String   Dim LineBuf As Variant, U As Integer, AcSht As Worksheet, ShName As String   'ユーザー設定   '================================================   Const myHolder As String = "C:\" 'CSVが置いてあるフォルダーを登録   rw = 1 '書き出しの最初の行数   '1行目からの書き出しなら、そのまま   '================================================   'シート数の確認   For i = 1 To Worksheets.Count    If Worksheets(i).UsedRange.Count > 1 Then      ShtCountTmp = ShtCountTmp + 1      Else      Worksheets(i).Select      Set AcSht = Worksheets(i)      Exit For    End If   Next i   'もし、不足していたら、一つ追加する。   If ShtCountTmp = Worksheets.Count Then    Worksheets.Add After:=Worksheets(Worksheets.Count)    Set AcSht = ActiveSheet   End If   'ファイルの検索   orgHolder = ThisWorkbook.Path   ChDir myHolder   Fname = Application.GetOpenFilename("CSV ファイル(*.csv),*.csv")   If Fname = "False" Then    Exit Sub   End If   Application.ScreenUpdating = False   FNo = FreeFile()   Open Fname For Input As #FNo 'ファイルインポート   Do Until EOF(FNo)    Line Input #FNo, TextLine    '「""」 の除去    TextLine = Application.Substitute(TextLine, """", "")    LineBuf = Split(TextLine, ",")    U = UBound(LineBuf) '上限の添え字    If U >= 0 Then      AcSht.Cells(rw + j, 1).Resize(, U + 1).Value = LineBuf    End If    j = j + 1   Loop   'シート名をファイル名に書き換え   On Error Resume Next   AcSht.Name = Mid$(Fname, InStrRev(Fname, Application.PathSeparator) + 1) On Error GoTo 0   Application.ScreenUpdating = True   Close #FNo   Set AcSht = Nothing   ChDir orgHolder   MsgBox "終了しました", 64 End Sub

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

関連するQ&A

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • Excel内の文字の検索

    一つのフォルダーにExcelファイルが複数で存在します。 そのExcelのファイルは2つのシートから構成されています。1つ目のシートはフォルダー内にある全てのExcelファイルに共通で担当者全員の名前が記載されています。2つ目のシートは各々違うのですが2つ目のシートにA1のセルに担当者名を入れるようにしています。 この時、このフォルダー内にある複数のExcelファイルを担当者別に新にフォルダーを作って分類したいのですがExcelファイルをいちいち開かずに2つ目のシートの担当者名を検索する方法はないでしょうか? 「ファイルの中にある単語」でフォルダー検索を行うと当然ですがシート1に担当者全員の名前があるので全てのファイルがヒットしてしまいます。 ファイルが何千とあるのでいちいち開かないで検索する方法を教えて下さい。

  • VBAでエクセルでCSVの文字化けを変換し複数取込

    お世話になっております。 使用環境:OFFICE365 エクセルVBAでフォルダに入っている複数のCSVを結合して取り込みたい。 その際、文字化けの回避もしたい。 C:\Users\ユーザー\Desktop\資料\CSV 上記「CSV」の中に複数データがあります。 そのまま開くと文字化けする状態です。 エクセルのシート「取り込み」に上記CSVを結合して取り込みたいです。 どうかご教示お願いいたします。

  • C# csvをexcelシートのように表記したい

    VS2017でC#を勉強しています。 複数のcsvファイルをexcelのシートのように表示できますか? ネットで検索すると、excelファイルのシートを表示するサンプルはありますが、 複数csvファイルをシート別に表示させるサンプルがわかりませんでした。 そのような表(ツール)はありますか? 複数ある場合、csvファイルを表示させたいのでdatagridviewのようにカラムが分かれているものを教えてください。 サンプルプログラムを書いていただけますと助かります。 よろしくお願いいたします。

  • CSVの内部結合について

    CSVまたはエクセルの.xml形式のファイルでの内部結合を行う方法を探しています。 これまではアクセスを使用して結合を行っていましたが、 私がアクセスにあまりなれておらず、面倒なことがあり、 別なフリーソフトまたはEXCEL上で、処理をする方法はないかを 探しています。 「CSV 結合」などで検索すると、単純に、CSVファイルをつなぎ合わせるソフトは 多数見つかりますが、そうではなく、ファイルAとファイルBの任意の列が同じものを 探し出して結合する、といった方法を探しています。 ご存知の方がおられたらお教えいただければ幸いです。

  • エクセル マクロ csvファイル統合

    あるソフトを用いて指定行数に分割した15のcsvファイルをそれぞれシート別にしてエクセルファイルに取り込みたいと考えています。 マクロを用いてこのような作業を行いたいのですが何方かご教授いただけませんでしょうか?

  • Windows7のフォルダの検索でCSVファイルの中身を検索したい。

    Windows7のフォルダの検索で、テキストファイルやExcelファイは、ファイルの内容まで検索してくれますが、 *.csvファイルは、ファイルの内容を検索してくれません。 csvファイルの内容を検索する方法はありますか?

  • エクセルからCSVで「”、”」の形式のメモ帳で開けれるようにしたいのですが

    「Workbooksクラスの_Openメソッドが失敗しました」と、、出てできません。恐れ入りますが、どなたかご教授願います。 やった手順は 1.エクセルシート(IDや00を含まないシンプルな名簿)を準備 2.CSVを起動させて入力ファイルには、1のエクセルシート指定して  「~~~.xls」または「~~~.csv」でボタンを押して、 3.出力ファイルでは、同じエクセルシートを指定して「~~~.csv」   だけにしてボタンを押したら 上のような失敗ですと2回ともなって、全く困っています・・・ 助けてください、どうかよろしくお願いします。

  • エクセルのcsv保存で。。

    前と同じような質問ですみません。。。 エクセルのSheet5をcsv形式で保存する際、 名前を付けて保存のダイアログを表示させて、 ファイルの名前を常に「bonaplus.csv」と 既定値で表示させておくようなマクロは できないでしょうか? ※bonaplusの後には作成日付を入力します。 ※csvファイルを作成した後に元のエクセルファイルの  保存になります。

  • エクセルデータからCSVファイルへの変換について

    現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。 基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。 よろしくお願いします。 【例】         (エクセル) ⇒  (CSV) うまくいく   12345     12345 うまくいかない 01234     1234 上記のようにエクセル上は文字列で管理されている ケースだとCSVファイルに変換した時数列に変換 され、上記例のうまくいかないケースのように 頭に0がある場合CSVだと0が消えてしまいます。 よろしくお願いします。

このQ&Aのポイント
  • エレコムの無線マウスが突然使用できなくなり、電池を入れ替えても明滅する状態が続く。
  • 以前使っていた同じ系列の無線マウスも同じような状態になり使えなくなった。
  • 半年しか使用していないマウスなので、他のメーカーの安定した無線マウスを探している。
回答を見る

専門家に質問してみよう