• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロでログ抽出し、日付ごとにシートを作成したい)

マクロでログ抽出し、日付ごとにシートを作成する方法

このQ&Aのポイント
  • マクロを使用して、cvs形式のログを日付ごとにシートに分ける方法について説明します。
  • ログファイルには起動時の日時が記録され、その下に時間や電圧などが記録されます。
  • マクロを組むことで、起動日時ごとにシートを作成し、ログを貼り付けることができます。最終的には抽出したデータからグラフを作成することができます。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

マクロブック(もちろん個人用マクロブックでもよい)を用意して次のようなマクロを登録する sub macro1()  dim h as range  if activeworkbook.fileformat <> 6 then   msgbox "OPEN CSV and RUN"   exit sub  end if  with worksheets(1)  set h = .range("A:A").find(what:="[[", lookin:=xlvalues, searchdirection:=xlprevious)  do until h is nothing   worksheets.add after:=worksheets(1)   range(h, .range("A65536").end(xlup)).entirerow.cut destination:=range("A1")   activesheet.name = application.substitute(trim(mid(range("A1"),3,len(range("A1"))-4)), ":", "")   set h = .range("A:A").findprevious(h)  loop  end with  activeworkbook.saveas fileformat:=xlworkbooknormal end sub CSVを開き、マクロを実行する。 #ご質問で状況説明として掲示された「[[ ]]」といった記載を手掛かりに使っているので、実際のデータはこうではなかった場合は、適切にマクロを修正して使います。

noct_nik
質問者

お礼

ありがとうございます。 早速組んでみたところ、きちんと抽出できました。 これをベースにカスタマイズいたします。まだマクロを勉強し出したところなので、大変参考になりました。 お礼申し上げます。

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

関連するQ&A

  • マクロでログ抽出し、日付ごとにシートを作成したい2

    http://okwave.jp/qa/q7454899.html こちらの質問の続きとなります。 上記URLの方法でシートは自動で作成されましたが、もう少し使い勝手を良くしたいと思います。 ログ解析用のExcelファイル(ログ解析.xlsとします)にマクロを置き、cvs形式のログを呼び出しし、そのログから日時ごとのシートを抽出し、最終的には「ログ解析.xls」に貼り付けできたらと思います。 ログのcvsファイル自体は、読み出しだけで保存や改変はしないものとします。 先の質問でいただいたマクロをベースに手直しをしているのですが、うまく動かない状況です。 解析用Excelには、ログファイルを開くまではマクロを書いてみましたが、それ以降がわからず… Sub ***() Dim strFileName As String Dim h As Range ' ファイルオープンのダイアログを開く strFileName = Application.GetOpenFilename("******.csv (*.csv),*.csv", 1, "ファイルを選択") If (strFileName <> "False") Then ' ファイル名が存在しない場合は抜ける If (Trim(Dir(strFileName)) = "") Then Call MsgBox("ファイルが見つかりません", vbOKOnly, "確認") Else ここまでは良いとして、それ以降、先の質問から応用しようとしているのですが、いかんせんうまくいかず、お知恵を拝借できたらと思います。

  • 違うシートで作成した表を読み込むマクロ

    はじめまして。掲示板に投稿させていただくのは初めての者ですがどうぞご教授をおねがいいたします。 この掲示板に載っていたマクロを参考にさせて頂き以下のようなマクロを作成してみました。 概要を説明しますと、シート1にマクロを起動するコマンドボタンと答えを記載する場所を作成し、シート2(名称:値)にデータ表を作成しています。 参考にさせていただいたマクロは同じシート内に表がある状態だったので上手く起動しましたが表をシート2(名称:値)にしたらエラーが発生するようになってしまいました。 どうしたらシート2に表があっても起動するのでしょうか? あまりマクロ自体についても詳しくないのでどうしたらよいかわからない状態になっております。もしよろしければご教授の程をよろしくお願いいたします。 【以下作成したマクロ】 Sub Test() Dim fs, myDay As Integer fs = Application.InputBox("CD+日", "指定") If fs = False Then Exit Sub If Len(fs) < 6 Then Exit Sub myDay = CInt(Mid(fs, 6, Len(fs))) fs = (Left(fs, 5)) Set r = Columns(1).Find(what:=fs, after:=Range("A22"), LookAt:=xlWhole) If r Is Nothing Then Exit Sub Sheets("値").Select r.Offset(0, myDay).Select Cells(10, 10) = r.Offset(0, myDay) Cells(10, 9) = r End Sub

  • PPPログの記録設定

    自宅からMacを1台ADSL接続の場合、インターネットに接続するとコンソールのPPP.logが下記のように記録されます。 このログを記録させたり、させなかったりすることは出来るのでしょうか? それとも、接続すると必然的に記録されるのでしょうか? 記録の有無選択することが出来るのであれば設定するところを教えて下さい。 Sun Apr 30 18:57:27 2006 : PPPoE connecting to service '' [access concentrator '']... Sun Apr 30 18:57:28 2006 : PPPoE connection established. Sun Apr 30 18:57:28 2006 : Using interface ppp0 Sun Apr 30 18:57:28 2006 : Connect: ppp0 <--> socket[34:16] Sun Apr 30 18:57:28 2006 : CHAP authentication succeeded Sun Apr 30 18:57:28 2006 : local IP address ***.***.***.*** Sun Apr 30 18:57:28 2006 : remote IP address ***.***.***.*** Sun Apr 30 18:57:28 2006 : primary DNS address ***.***.***.*** Sun Apr 30 18:57:28 2006 : secondary DNS address ***.***.***.*** Sun Apr 30 19:18:18 2006 : Hangup (SIGHUP) Sun Apr 30 19:18:20 2006 : Connection terminated. Sun Apr 30 19:18:20 2006 : Connect time 20.9 minutes. Sun Apr 30 19:18:20 2006 : Sent 232780 bytes, received 2202753 bytes. Sun Apr 30 19:18:20 2006 : PPPoE disconnecting... Sun Apr 30 19:18:20 2006 : PPPoE disconnected Sun Apr 30 20:59:50 2006 : PPPoE connecting to service '' [access concentrator '']... Sun Apr 30 20:59:50 2006 : PPPoE connection established. Sun Apr 30 20:59:50 2006 : Using interface ppp0

    • ベストアンサー
    • Mac
  • 勝手に再起動しているらしいのですがログ確認可能でしょうか?

    PCに停電対策でUPSを付けています。 終夜運転で動作させているのですが、たまに深夜に勝手に再起動しているらしき痕跡があります。 UPSの設定が一定の電圧以下が長時間続くと再起動するようになっているので、そのせいかとも思ったのですが、UPSのソフトウェアには、そのような記録が無いので、困っています。 WindowsXPでは再起動等をした場合、ログなどは残っているものなのでしょうか?

  • エクセルマクロ シートの追加

    マクロでシートを追加し、シートの名前を変更したくて記録したところ、以下のコードになりました。 しかしながら、2度目に実行すると、sheet2が追加されsheet1が無いためエラーとなります。 2度目に実行してもsheet2のシート名を変更できるようにするには、どうすればよいですか? Sheets.Add Sheets("Sheet1").Select Sheets("Sheet1").Name = "処理結果"

  • Excel マクロ 抽出 フィルタ 別シート

    マクロは記録しかできない初心者です。 たとえば、 田中 6月 ナシ 12 鈴木 4月 林檎 23 安部 5月 葡萄 34 田中 5月 イモ 12 鈴木 7月 エビ 23 というデータがあって、別シートに「田中」だけのデータを抽出したい場合はどのようなマクロを組めばよいですか。 田中 6月 ナシ 12 田中 5月 イモ 12 しかも、その検索するデータを入力すると検索できるようにしたいのですが。たとえば、 A1に田中←と入力するとそれ以下に 田中 6月 ナシ 12 田中 5月 イモ 12  と抽出されるようにしたいです。 マクロ初心者ですので、詳しく説明をいただければ幸いです

  • 並べ替えマクロでシートの名前を変更した場合

    以下のマクロを記録しました。 「Sheet1」でA1:B20を選択して、昇順の並べ替えを実行して終了です。 VBEで中身を確認すると、途中にシート名の"Sheet1"が記述されています。 この内容だと、シート名を変更したり、別のシートで実行する場合は、マクロのシート名の記述を変更しないと実行できません。 これだと不便なので、シート名にかかわらず実行できる昇順マクロを作りたいのですが、何か方法はありますか。

  • エクセルマクロ Vlookupに似たマクロはありますか?

    度々すみません。 わからない事がいくつか出てきてしまって。どなたかご教示いただけると嬉しいです。 今は手作業で以下のような作業をしております。 データ元のシート(以下(1))とそれ加工して作るシート(以下(2))があります。 (1)のデータを2度sortするのですが、一度目のsortでtotalが入っている行は全てdelete。 残ったデータでもう一度sortし、種類別に並び変えます。 その後、コラムAがUSDである物はシート(2)のUSDページに貼り付け、コラムAがEURであればシート(2)のEURページに貼り付け・・・としていきたいのですが、マクロの記録を使おうにも、毎回コラムAは目視で確認しコピー・貼り付けをしていますのでマクロの記録は使えないですし、エクセル関数ではVLOOKUPがありますが、それをマクロに書き込む方法もどこにも載っておらず、どうしていいか息詰まった状態です。 sortするのはマクロの記録を使って作成できましたので、 ・コラムAがtotalになっている行より下はdelete ・コラムAがUSDならシート(2)のUSDシートへ貼り付け・・・ のマクロを作成したいです。 どうか宜しくお願い致します。

  • マクロについて教えて下さい。

    マクロについて教えて下さい。 タイムカードを作成するマクロを作成したのですが 時間を修正できないようにシートの保護をパスワードを 設定して作成しました。 ユーザーフォームのボタンを押すと時刻が入るようになっているのですが 当然時刻を入れる時は保護を解除しなければならないので 全シートの保護の解除のマクロも作成しました。 マクロにはパスワードが記述してあります。 このマクロを見られないようにする方法はありますでしょうか。 宜しくお願いします。

  •  エクセルマクロでこれを簡単に出来ますか?

     部材関係の仕事に携わっている者ですが、日々変る納品リストの整理が長引き、もっと簡単にしたいと思いますが、次のことをエクセルマクロで瞬時にできるのでしょうか?私はエクセル初心者な者で詳しいことが分かりません。  1.エクセルワークシートが15部の構成のブック  2.その内、自分が必要とするのが5部のシート  3.その各シートには2005.6.○○と日付が付与され   ている  4.その5部のワークシートに記載されている部材うち、自分に関係する物だけをフィルタオプションを使って抽出、抜き出している。  5.フィルタオプションの抽出条件は別ファイルを開き、コピー、貼付けして検索している。  6.各シート検索後、抽出データーを1枚のシートにまとめるために統合機能を使い、1つのリストにしている。  7.日付により、項目が増減、変動するので多くなると1ページに印刷すると、文字が小さくなるので、目一杯縦横の余白を最小にして印刷している。  以上のような流れなのですが、元になるワークシートのシート名に日付が付与されているせいか、マクロを記録してもエラーが出ます。やはり単純なマクロの記録では1~7の操作実行は無理なのでしょうか?  手順はいつもと同じなのですが、シート日付名をそのまま記録してしまうからでしょうか?  現状1~5までの操作を各シート毎に繰り返しているので非常に時間が係ります。VBAじゃないと無理なのでしょうか?個人用マクロに保存しています。アドバイスお願いします。

このQ&Aのポイント
  • 大学で出題された課題が分からないので教えていただきたいです。
  • Y地方公共団体は、公民館Aの使用を不許可した処分について、X市民団体が地方裁判所Cに出訴しました。
  • 地方裁判所Cは、公民館の使用不許可処分が妥当かどうか判断する結果を下しました。
回答を見る

専門家に質問してみよう