http://oshiete.goo.ne.jp/qa/7454899.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
ここまでは良いとして、それ以降、先の質問から応用しようとしているのですが、いかんせんうまくいかず、お知恵を拝借できたらと思います。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
たとえば
前のマクロを生かしてCSVにシートを生成し、最後にまとめて引っ張ってくる
前のマクロをやめて自分ブックにシートを生成し、データを転記する
など、アイデア次第でアプローチはいろいろあると思います。
マクロ的には、前者の方が(ほんのちょっとだけですが)簡単かも?しれません。
作成例:
Sub macro2()
dim myFile as string
dim h as range
dim s as string
dim w as worksheet
on error resume next
myfile = Application.GetOpenFilename("******.csv (*.csv),*.csv", 1, "ファイルを選択")
if myfile = "False" then exit sub
s = dir(myfile)
if s = "" then
msgbox "File NOT Found"
exit sub
end if
workbooks.open myfile
' if activeworkbook.fileformat <> 6 then
' msgbox "OPEN CSV and RUN"
' exit sub
' end if
with workbooks(s).worksheets(1)
set h = .range("A:A").find(what:="[[", lookin:=xlvalues, searchdirection:=xlprevious)
do until h is nothing
set w = thisworkbook.worksheets.add(after:=thisworkbook.worksheets(thisworkbook.worksheets.count))
range(h, .range("A65536").end(xlup)).entirerow.cut destination:=w.range("A1")
' w.name = application.substitute(trim(mid(w.range("A1"),3,len(w.range("A1"))-4)), ":", "")
set h = .range("A:A").findprevious(h)
loop
end with
workbooks(s).close savechanges:=false
end sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
フォルダ内の全ブックのシート...
-
【Excel VBA】ブックを複数開い...
-
【ExcelVBA】指定の書式で、マ...
-
ExcelVBAで今開いているユーザ...
-
EXCELマクロでxlsとxlsxを開く方法
-
VB2010でExcelの行をコピーして...
-
EXCEL VBA起動時の処理
-
[Excel VBA] フォルダ内の複数...
-
エクセルのマクロについて教え...
-
VBA、Excelのworkbook.open に...
-
コマンドボタンでマクロを起動...
-
EXCELマクロで上書きメッ...
-
Excel VBAを後ろで動かす方法
-
Excel マクロでファイル名を変...
-
同じ名前で拡張子が違うファイル
-
excelマクロ、任意セルの値で名...
-
エクセル終了時の保存確認メッ...
-
複数のデータ系列の線の太さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
ExcelVBAで今開いているユーザ...
-
VBA、Excelのworkbook.open に...
-
【ExcelVBA】指定の書式で、マ...
-
【Excel VBA】ブックを複数開い...
-
VB2010でExcelの行をコピーして...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
フォルダ内の全ブックのシート...
-
personal.xlsの削除方法
-
EXCELマクロでxlsとxlsxを開く方法
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
コマンドボタンでマクロを起動...
-
excelマクロ、任意セルの値で名...
-
【VBA】他のExcelを起動し、呼...
-
他のBookのユーザー定義関数を使う
おすすめ情報