
csv形式のファイル(内容は計測値データ)をエクセルに読み込み、csvファイルの各データが規定値内に納まっているかの確認が容易できる方法を探しています。
このとき条件として、
(1)csvファイル内のデータは10項目程度。
(2)csvデータはランダムに更新される。
(3)エクセルに読み込むときはエクセルシート内の決められたセルにそれぞれデータが格納されること。
(例)csvファイルに"110"と"119"の2種類のデータがあった場合、あらかじめxlsファイルのセルA1に「警察」、セルA2に「消防署」と記入しておき、csvファイルのデータを読み込んだとき、セルB1に"110"、セルB2に"119"と入力される。
(4)csvファイル自体は開かず、必要なときにあらかじめ作成したxlsファイルを立ち上げると、自動でcsvファイルの内容を吸い上げる。
(5)入力されたデータの適否をそれぞれ判定する。
(6)xlsファイルを立ち上げている間にcsvファイルが更新された場合、xlsファイルの更新方法は手動と自動を選択できる。
こんなこと出来るでしょうか?
特に(4)が困っています。csvファイルをエクセルで開いた状態であれば、この内容で出来たのですが・・・。
どなたか良い方法があったら教えて下さい。お願いします。
No.3ベストアンサー
- 回答日時:
(4)に対する回答です(応用すれば(6)もできるでしょう)。
たぶん、マクロを使わないとできないと思います。マクロを使っていいならいろいろ方法はあるでしょうが
一例として
1)マクロを組み込みたいブックを開き、[Alt]+[F11]でVBエディタを開きます。
2)通常左上に表示されるプロジェクトエクスプローラーの「ThisWorkbook」をWクリックします。
3)右側のエディタウィンドウに以下のコードを貼り付けます。
Private Sub Workbook_Open()
Workbooks("abc.xls").Sheets(1).Activate
Cells.Select
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & "c:\xyz.csv", Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
End With
End Sub
※ここで「abc.xls」はこのブック自身のファイル名、「c:\xyz.csv」は取り込みたいcsvファイルのパス・ファイル名です。
また、Sheets(1)は1枚目のシートに貼り付ける指定です。それぞれ適当に変更します。
4)ブックを保存終了し、再度、このブックを開いてください。
Excel自体、マクロを使用できない設定になっていると動きません。その際は、
[ツール]→[オプション]→[セキュリティ]→[マクロセキュリティ]→[セキュリティレベル]
で「中」か「低」に設定してください。
うまくできますように......
大変参考になりました。本音はマクロを組まずにできれば良かったのですが、ここは妥協します。止む終えません。
csvファイルを開かずにデータを取り出せたので、あとは教えて頂いたプログラムを参考に応用してみます。
実際は質問で書いた内容より複雑なことをやろうとしていますが、今のところそれなりにできつつあります。
本当にありがとうございました。
No.2
- 回答日時:
>特に(4)が困っています。
VBやACCESSならやったことがあります。
EXCELにもタイマーがあればできるとは思いますが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCSVの1行目だけを書き換え...
-
複数のCSVファイルを横に並べて...
-
複数のcsvファイルを1つのEXCEL...
-
エクセルの指数を無効にしたい
-
excelインポート時の「実行時エ...
-
「ほかのアプリケーションを無...
-
大量のCSVデータを1つのエ...
-
複数のデータ系列の線の太さを...
-
エクセル終了時の保存確認メッ...
-
ExcelVBAで今開いているユーザ...
-
VBA マクロ実行時エラー’1004Ra...
-
VBAを一度起動するとずっと出て...
-
Excel VBAで、実行時にsheet上...
-
Excelマクロ ファイル名が変わ...
-
昨日まで動いていたエクセルの...
-
EXCEL VBA起動時の処理
-
Officeマクロが使えなくなった
-
最初の1回のみにボタンクリッ...
-
コピーしたファイルのマクロを...
-
VBA[Private Sub]のコードをシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のCSVファイルを横に並べて...
-
excelインポート時の「実行時エ...
-
エクセルの指数を無効にしたい
-
VBAでCSVの1行目だけを書き換え...
-
「ほかのアプリケーションを無...
-
複数のcsvファイルを1つのEXCEL...
-
EXCELにcsv形式の外部データを...
-
VBAでユーザーフォーム上に参照...
-
複数個のascファイルを1つ...
-
【エクセル VBA】CSVファイルの...
-
二つのCSVファイルを照らし合わ...
-
【VBA初心者】同じフォルダ内の...
-
EXCELLの動きが遅い
-
CSVファイルの結合(重複データ...
-
Excel VBAを使った複数のCSVフ...
-
大量のCSVデータを1つのエ...
-
datファイル→csvファイル→datフ...
-
Accessにエクセルからデータを...
-
エクセルの並べ替えが・・・
-
複数のCSVファイルからのデータ...
おすすめ情報