|
横から失礼します。
TextStreamObjectと正規表現を使っています。
標準モジュールに貼り付けてお試しください。
Sub test()
Dim FileName As String
Dim objText As Object
Dim objRe As Object
Dim objMatches As Object
FileName = Application.GetOpenFilename("Excelファイル (*.txt), *.txt")
If FileName = "False" Then Exit Sub
Application.ScreenUpdating = False
Set objText = CreateObject("Scripting.FileSystemObject").OpenTextFile(FileName, 1)
Set objRe = CreateObject("VBScript.Regexp")
objRe.Pattern = "[^\t]+\t"
objRe.Global = True
Do
Set objMatches = objRe.Execute(objText.ReadLine)
Range(Cells(objText.Line - 1, 1), Cells(objText.Line - 1, 3)) = _
Array(objMatches.Item(15).Value, _
objMatches.Item(16).Value, _
objMatches.Item(42).Value)
Loop Until objText.AtEndOfStream
Application.ScreenUpdating = True
End Sub
|
|