秀丸エディタを使用して、以下のマクロの作成のやり方を教えてください。
元ファイルから必要なデータの抽出・計算を繰り返して下記の例のような形式で表示したいです。
(ここではAAAAA・BBBBB・CCCCC・DDDDD・hijkの表記のある行を抽出し、
「BBBB-AAAAA+1」「DDDDD-CCCCC」の結果をかかった時間1:、かかった時間2:の横に表記する。
これらの作業を10000件以上繰り返す。
------------------------------------------------
例)元ファイル
2013/3/6 10:10:10.100 AAAAA
2013/3/6 10:10:10.110 BBBBB
2013/3/6 10:12:12.120 hijk
2013/3/6 10:14:14.140 CCCCC
2013/3/6 10:14:14.150 DDDDD
2013/3/6 10:15:15.130 abcde
2013/3/6 10:15:16.100 AAAAA
2013/3/6 10:15:16.108 hijk
2013/3/6 10:15:16.110 BBBBB
2013/3/6 10:15:18.150 lmn
2013/3/6 10:15:19.140 CCCCC
2013/3/6 10:15:19.150 DDDDD
…
…(省略:10000行以上)
…
2013/3/6 11:18.20.150 DDDDD
------------------------------------------------
例)ほしい結果
2013/3/6 10:10:10.100 AAAAA
2013/3/6 10:10:10.110 BBBBB
2013/3/6 10:12:12.120 hijk
2013/3/6 10:14:14.140 CCCCC
2013/3/6 10:14:14.150 DDDDD
かかった時間1:11msec(2行目-1行目+1)
かかった時間2:10msec(5行目‐4行目)
2013/3/6 10:15:16.100 AAAAA
2013/3/6 10:15:16.108 hijk
2013/3/6 10:15:16.110 BBBBB
2013/3/6 10:15:19.140 CCCCC
2013/3/6 10:15:19.150 DDDDD
かかった時間1:11msec(9行目-7行目+1)
かかった時間2:10msec(12行目‐11行目)
…
…(省略:10000行以上)
…
------------------------------------------------
現状で以下の2つのマクロを作成しました(元ファイルで実行します)
マクロ1.「AA…~DD…」を含む行の抽出+「かかった時間1:、かかった時間2:」の表記をDDDDDの下に挿入するマクロ
マクロ2.時間のみの抽出を行うマクロ(下5ケタのみ 例:10100 小数点は削除)
これら2つのマクロを同時に動かし、最終的に上記のような形式にまとめる予定です。
(もしかしたら1つのファイルで動かせるのかもしれませんが、わからなかったので二つにわけました;;)
現在、マクロ2.で抽出した時間からどのようにして「BBBB-AAAAA+1」「DDDDD-CCCCC」を
行えばいいか、また、計算した値をどのようにして「かかった時間1:、かかった時間2:」の
横においていけばいいかがわからない状態です。
マクロ自体さわったことがなく、もう一週間悩んでいます。
どなたか馬鹿な私に教えていただけないでしょうか
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
なんか面倒そうな処理ですねぇ……。
詳細がわからないので、私だったら…という方法で。
1)gofiletopで先頭に移動させておく。
2)searchdownで"AAAAA"を検索する。
3)golineendで行末に移動し、beginselで選択開始し、golinetopで行頭まで移動。
4)searchdownで"."をinselectで検索して最初に見つかる少数点の位置に移動。
5)選択状態を解除してrightで右に1つ移動して、xの値を変数に格納。
6)rightで3つ右に移動。
7)gettext()関数でx1を5)で格納した値を指定。y1とy2はそのままyをx2はxを指定して文字列を取り込み。
8)val()関数で数値化。
9)searchdownで"BBBB"を検索する。
10)3)~8)までの方法でBBBBのミリ秒を取得。
11)必要な演算を行う。
12)"かかった時間1:"を挿入する場所までカーソル移動してinsertで挿入。
13)str()関数で11)で演算したミリ秒を文字列化してinsertで挿入。
14)"msec"をinsertで挿入してinsertreturnで改行も挿入。
15)2)に戻る。(2)の結果、searchdown後のresultが失敗を返した場合は最後まで検索したものとして処理終了)
"かかった時間2:"も同様な方法で処理…ですかねぇ。
12)~14)のinsertは1つにまとめてしまってもよいかもしれませんが。
関係ないけど、秀丸はフリーソフトとは少し違うような。
# シェアウェアです。フリーというのはどうかと…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2010 グラフ 横軸目盛線の間隔変更 1 2023/05/09 11:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA のdebug(F8キー) が...
-
ローマ字→カタカナへ変換(エク...
-
EXCELのセルへ、デジタル時計を...
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロ機能で前のシ...
-
Excel文字列中の太字(Bold)部分...
-
EXCEL2000 VBA マクロ実行中に...
-
Image J ソフトの使い方
-
マクロ 実行ボタンを押さずに...
-
エラーになってないのにVBA...
-
ワードで一連作業の繰り返し
-
Excelマクロでオプションボタン...
-
マクロ ブックをマクロなしでコ...
-
【Excel VBA】エラー番号400
-
Excelのワークシート上に検索窓...
-
テキストボックスに入力したシ...
-
複数ファイルにある特定のシー...
-
UWSCからエクセルのマクロを実行
-
GetAsyncKeyState(32) の動作が...
-
Wordの画面を左右にスクロール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
Excel VBA のdebug(F8キー) が...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
エクセル グラフの軸の最小値最...
-
EXCEL 複数のシートの同一の位...
-
エクセルで複数のシートをまと...
-
【Excel VBA】エラー番号400
-
Excelマクロでオプションボタン...
-
Wordの画面を左右にスクロール...
-
マクロ ブックをマクロなしでコ...
-
Wordで「原稿用紙○枚」を換算す...
-
AccessのテーブルデータをExcel...
おすすめ情報