人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

マクロ・VBAについて質問です。
エクセルの値を抜き出してテキストファイルを作成したいのですがエクセルマクロ(VBA)で作成できないでしょうか?

詳細はコメントに記載します。

●質問者: Ryo0524
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:エクセル コメント テキスト ファイル マクロ
○ 状態 :終了
└ 回答数 : 2/7件

▽最新の回答へ

1 ● SALINGER
●50ポイント ベストアンサー

実行させた場所と同じ場所に作成するマクロです。

Sub MakeText()
 Dim FSO As Object
 Dim lastRow As Long
 Dim i As Long
 Dim str As String
 
 Set FSO = CreateObject("Scripting.FileSystemObject")
 lastRow = Cells(Rows.Count, 1).End(xlUp).Row
 
 With FSO.CreateTextFile(ThisWorkbook.Path & "\create.txt")
 For i = 1 To lastRow
 .WriteLine "PrefNo." & Replace(Cells(i, 1).Value, "_", "") & " PrefName." & Cells(i, 2).Value
 Next i
 .Close
 End With
 Set FSO = Nothing
End Sub

2 ● Mook
●50ポイント

下記のような感じでしょうか。

main の中で、作成するファイルと対象のシートを指定するようにしています。


Option Explicit

Sub main()
 MakeFile "C:\Create.txt", Worksheets("Sheet1")
End Sub

Sub MakeFile(filePath As String, ws As Worksheet)
 Dim fso As Object
 Set fso = CreateObject("Scripting.FileSystemObject")

 Dim lastRow As Long
 lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row

 Dim r As Long
 With fso.CreateTextFile(filePath, True)
 For r = 1 To lastRow
 If ws.Cells(r, "A").Value <> "" And ws.Cells(r, "B").Value <> "" Then
 .WriteLine "PrefNo." & Trim(Replace(ws.Cells(r, "A").Value, "_", "")) & " PrefName." & Trim(ws.Cells(r, "B").Value)
 End If
 Next
 .Close
 End With
End Sub

仕様に異なる点がある場合は、コメントください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ