私は、ユーザがフォルダを選択できるようにコードを書いた後、フォルダ内のすべてのファイルをループして、特定のデータ列をマスタドキュメント 'PQ Analysis spreadsheet'にコピーします。マスタファイル(VBA)にテキストファイルを読み込む?
私はより一般的にするために、このコードを改善したいと思います。
マスター文書として「PQ Analysis spreadsheet」を指定する必要がないように変更する方法はありますか?すなわち、ユーザが望むものであればそれを呼び出すことができる。
さらに、私は現在、各ファイルを新しいブックに開いてそこからコピーします。私は、txtファイルから配列に直接入力してそこから印刷する方法がなければならないと確信していますか?
何か提案がありがとうございます。これは私が書いた最初のVBAコードなので、この言語にはとても新しいです!ありがとう。
Sub tabdelim()
Dim strFileToOpen
Dim InputFile As Workbook
Dim OutputFile As Workbook
'Dialogue box to select file to open
strFileToOpen = Application.GetOpenFilename _
(Title:="Please choose a file to open", _
FileFilter:="Text Files *.txt* (*.txt*),")
If strFileToOpen = False Then
MsgBox "No file selected.", vbExclamation, "No file selected!"
Exit Sub
Else
'Open selected file in new workbook
Workbooks.OpenText Filename:= _
strFileToOpen, _
Origin:=65001, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1)), TrailingMinusNumbers:=True
End If
Set InputFile = ActiveWorkbook
'Now, copy what you want from InputFile:
ActiveSheet.Range("I3:I660").Copy
'Now, paste to OutputFile worksheet:
Windows("PQ Analysis spreadsheet.xls").Activate
Set OutputFile = ActiveWorkbook
Range("C43").Select
ActiveSheet.Paste
'Close InputFile
InputFile.Close
End Sub
'文字列として暗いstrWorkbookName:strWorkbookName = InputBox関数より簡単でより効率的であるパワークエリを使用して' –
( "ワークブックを選択")。 – Olly