我已經編寫了一個代碼,允許用戶選擇一個文件夾,然後遍歷該文件夾中的所有文件,將特定數據列複製到我的主文檔「PQ Analysis電子表格」中。將文本文件導入主excel文檔(VBA)?
我想改進此代碼,使其更通用。
有什麼辦法可以改變它,所以我不必指定'PQ分析電子表格'作爲主文檔?即所以它可以被稱爲任何用戶希望的。
此外,我目前打開每個文件到一個新的工作簿,並從那裏複製。我確定必須有一種方法可以直接從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( 「選擇工作簿」)' –
使用Power查詢會更簡單,更高效。 – Olly