Note: The other languages of the website are Google-translated. Back to English
English English
  • เอกสาร
  • Excel
  • วิธีการนำเข้าไฟล์ csv / text / xml หลายชุดใน Excel อย่างรวดเร็ว

วิธีการนำเข้าไฟล์ csv / text / xml หลายชุดใน Excel อย่างรวดเร็ว

ใน Excel คุณอาจเชื่อมโยงกับการบันทึกสมุดงานเป็นไฟล์ csv ไฟล์ข้อความหรือไฟล์ xml แต่คุณเคยพยายามนำเข้าไฟล์ csv / text / xml หลายไฟล์จากโฟลเดอร์ลงในสมุดงานหรือแผ่นงานหรือไม่? ในบทความนี้ฉันแนะนำวิธีการบางอย่างเพื่อนำเข้าแบทช์อย่างรวดเร็ว

นำเข้าไฟล์ข้อความหลายไฟล์จากโฟลเดอร์ไปยังแต่ละแผ่นงานของสมุดงานด้วย VBA

นำเข้าไฟล์ csv หลายไฟล์จากโฟลเดอร์ลงในแผ่นงานเดียวด้วย VBA

นำเข้าไฟล์ xml หลายไฟล์จากโฟลเดอร์ลงในแผ่นงานเดียวด้วย VBA

นำเข้าหรือรวมไฟล์ xml / csv หลายไฟล์ลงในแผ่นงานหรือสมุดงานด้วย Kutools for Excel ความคิดที่ดี 3

ส่งออกแต่ละแผ่นเป็น csv / text / pdf ไปยังโฟลเดอร์ด้วย Kutools for Excelความคิดที่ดี 3


ในการนำเข้าไฟล์ข้อความจากโฟลเดอร์ไปยังสมุดงานคุณสามารถใช้ VBA ด้านล่างเพื่อจัดการได้อย่างรวดเร็ว

1. เปิดใช้งานสมุดงานเปล่าแล้วกด Alt + F11 กุญแจเพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลและวาง VBA ลงในไฟล์ โมดูล หน้าต่าง

VBA: นำเข้าไฟล์ข้อความทั้งหมดจากโฟลเดอร์ลงในสมุดงาน

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3 กด F5 คีย์หรือ วิ่ง เพื่อเรียกใช้ VBA และเลือกโฟลเดอร์ที่คุณต้องการนำเข้าไฟล์ข้อความจากในกล่องโต้ตอบ popping ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 1

4. แล้วคลิก OKและไฟล์ข้อความแต่ละไฟล์ในโฟลเดอร์ที่เลือกจะถูกนำเข้าในแผ่นงานเดียวของสมุดงานที่ใช้งานอยู่ ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 2doc นำเข้าข้อความ csv หลาย xml 3

รวมหลายแผ่นงาน / สมุดงานเป็นแผ่นงานเดียวหรือสมุดงาน

ในการรวมแผ่นงานหลายแผ่นหรือสมุดงานเป็นแผ่นงานเดียวหรือสมุดงานอาจเป็นเรื่องที่น่าสนใจใน Excel แต่ด้วยไฟล์ รวมกัน ฟังก์ชันใน Kutools สำหรับ Excel คุณสามารถรวมแผ่นงาน / สมุดงานหลายสิบแผ่นไว้ในแผ่นงานหรือสมุดงานเดียวได้นอกจากนี้คุณยังสามารถรวมแผ่นงานเข้าด้วยกันโดยคลิกเพียงไม่กี่ครั้งเท่านั้น  คลิกเพื่อดูคุณสมบัติเต็มรูปแบบ
30
วันทดลองใช้ฟรี!
รวมแผ่น
 
Kutools สำหรับ Excel: มีมากกว่า
300
Add-in ของ Excel ที่มีประโยชน์ ทดลองใช้ฟรีโดยไม่มีข้อจำกัด
30
วัน

ในการนำเข้าไฟล์ csv ทั้งหมดจากโฟลเดอร์ลงในแผ่นงานเดียวคุณสามารถใช้โค้ด VBA ด้านล่าง

1. เปิดใช้งานแผ่นงานเปล่าแล้วกด Alt + F11 กุญแจเพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลและวาง VBA ด้านล่างลงในไฟล์ โมดูล หน้าต่าง

VBA: นำเข้าไฟล์ csv จากโฟลเดอร์ลงในแผ่นงานเดียว

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3 กด F5 คีย์หรือคลิก วิ่ง เพื่อเรียกใช้งาน VBA และกล่องโต้ตอบจะปรากฏขึ้นเพื่อเลือกโฟลเดอร์ที่คุณต้องการนำเข้าไฟล์ csv ทั้งหมด ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 4

4 คลิก OKและกล่องโต้ตอบจะปรากฏขึ้นเพื่อเตือนคุณหากล้างเนื้อหาของแผ่นงานที่ใช้งานอยู่ก่อนนำเข้าฉันคลิกที่นี่ ใช่. ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 5

หลังจากคลิก ใช่ไฟล์ csv ทั้งหมดในโฟลเดอร์ที่เลือกจะถูกนำเข้าไปในแผ่นงานปัจจุบันและวางข้อมูลจากคอลัมน์ A ไปทางขวา ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 6doc นำเข้าข้อความ csv หลาย xml 7

เคล็ดลับ: หากคุณต้องการวางไฟล์ csv ในแนวนอนในแผ่นงานคุณสามารถใช้ VBA ด้านล่าง

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc นำเข้าข้อความ csv หลาย xml 8


หากคุณต้องการนำเข้าไฟล์ XML ทั้งหมดจากโฟลเดอร์ลงในแผ่นงานเดียวคุณสามารถใช้โค้ด VBA ด้านล่าง

1. เลือกแผ่นงานเปล่าที่คุณต้องการวางข้อมูลที่นำเข้าแล้วกด Alt + F11 คีย์เพื่อเปิดใช้งาน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูลวางรหัส VBA ลงในไฟล์ โมดูล หน้าต่าง

VBA: นำเข้าไฟล์ XML จากโฟลเดอร์ลงในแผ่นงาน

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3 คลิก วิ่ง หรือ F5 เพื่อเรียกใช้ VBA และเลือกโฟลเดอร์ในกล่องโต้ตอบ popping ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 9

4 คลิก OKและไฟล์ XML ทั้งหมดในโฟลเดอร์ที่เลือกจะถูกนำเข้าสู่แผ่นงานที่ใช้งานอยู่


หากคุณไม่คุ้นเคยกับ VBA ไม่ต้องกังวลที่นี่ฉันขอแนะนำเครื่องมือที่มีประโยชน์ - Kutools สำหรับ Excel สำหรับคุณ. ด้วยประสิทธิภาพ รวมกัน ยูทิลิตี้คุณสามารถรวมไฟล์ xml หรือไฟล์ csv หลายไฟล์ลงในสมุดงานเดียวหรือหนึ่งแผ่นงาน Excel ได้อย่างรวดเร็ว

Kutools สำหรับ Excel, ที่มีมากกว่า
300
 ฟังก์ชั่นที่มีประโยชน์ทำให้งานของคุณง่ายขึ้น 

หลังจากการติดตั้ง Kutools สำหรับ Excel โปรดทำดังนี้:(ดาวน์โหลด Kutools for Excel ฟรีทันที!)

1. ใช้งาน Excel แล้วคลิก Kutools พลัส > รวมกัน. ดูภาพหน้าจอ:
doc รวม 1

2. และใน ขั้นตอนที่ 1 ของการรวม โต้ตอบเลือกตัวเลือกการแยกหนึ่งรายการตามที่คุณต้องการ ดูภาพหน้าจอ:
doc รวม 2

3 คลิก ต่อไป เพื่อไปที่ ขั้นตอนที่ 2 ของการรวมคลิก เพิ่ม เพื่อเพิ่มไฟล์จากโฟลเดอร์ต่างๆหรือไฟล์จากโฟลเดอร์หนึ่งไปยัง สมุดงาน รายการและคุณสามารถระบุแผ่นงานที่คุณต้องการรวมได้ แผ่นงาน รายการส่วนที่ถูกต้อง ดูภาพหน้าจอ:
doc kutools รวมแผ่นงาน 3

4 คลิก ต่อไป ไปยังขั้นตอนสุดท้ายของ รวมกันและคุณสามารถระบุตัวเลือกการรวม
doc kutools รวมแผ่นงาน 4

5 คลิก เสร็จสิ้นกล่องโต้ตอบจะปรากฏขึ้นเพื่อเตือนให้คุณเลือกตำแหน่งที่จะบันทึกผลการรวมใหม่ ดูภาพหน้าจอ:
doc รวม 5

6 คลิก ลด. แผ่นงานที่เพิ่มทั้งหมดรวมกันเป็นแผ่นงานใหม่
doc รวม 6

เคล็ดลับ: กับ รวมกันคุณยังสามารถรวมหลาย ๆ ไฟล์ CSV สร้างหลายโฟลเดอร์หรือหนึ่งโฟลเดอร์เป็นแผ่นเดียวหรือสมุดงาน


หากคุณต้องการส่งออกแต่ละแผ่นเป็นไฟล์ csv / text / pdf ไปยังโฟลเดอร์ Kutools สำหรับ Excel's แยกสมุดงาน ยูทิลิตี้สามารถช่วยคุณได้

หลังจาก ติดตั้งฟรี Kutools สำหรับ Excel โปรดทำดังนี้:

1. เปิดใช้งานสมุดงานที่คุณต้องการส่งออกเวิร์กชีตแล้วคลิก Kutools พลัส > สมุดงาน > แยกสมุดงาน. ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 10

2 ใน แยกสมุดงาน คุณสามารถตรวจสอบชื่อแผ่นงานที่คุณต้องการส่งออกโดยค่าเริ่มต้นแผ่นงานทั้งหมดจะถูกตรวจสอบและตรวจสอบ ระบุรูปแบบการบันทึก และเลือกรูปแบบไฟล์ที่คุณต้องการบันทึกจากรายการแบบหล่นลงด้านล่าง ดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 11

3 คลิก แยก และเลือกโฟลเดอร์ที่จะบันทึกไฟล์แยกในไฟล์ เรียกดูโฟลเดอร์ กล่องโต้ตอบดูภาพหน้าจอ:

doc นำเข้าข้อความ csv หลาย xml 12

4 คลิก OKตอนนี้แผ่นงานที่ตรวจสอบทั้งหมดจะถูกส่งออกเป็นรูปแบบไฟล์ใหม่ในโฟลเดอร์ที่เลือก


บทความญาติ:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณโดย
80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • กว่า
    300
    คุณสมบัติอันทรงพลัง
    . รองรับ Office/Excel
    2007-2019 และ 365
    . รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติครบถ้วน
    30
    วันทดลองใช้ฟรี รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณโดย
    50%
    และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (35)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ขอบคุณมากสำหรับตัวอย่างโค้ดเหล่านั้น! ไฟล์แรก (VBA: นำเข้าไฟล์ข้อความทั้งหมดจากโฟลเดอร์ไปยังสมุดงาน) เป็นสิ่งที่ฉันต้องการเกือบทั้งหมด อย่างไรก็ตาม ฉันต้องการเลือกไฟล์ที่จะนำเข้าและไม่นำเข้าไฟล์ข้อความทั้งหมดในโฟลเดอร์ที่กำหนดโดยอัตโนมัติ ฉันยังต้องการให้เนื้อหาที่ออกจากแผ่นงานเป้าหมายของฉันถูกแทนที่ด้วยเนื้อหาของไฟล์ข้อความ (ด้วยรหัสด้านบน เนื้อหาที่มีอยู่จะถูกเลื่อนไปทางขวาแทนที่จะถูกแทนที่) ฉันจะดำเนินการอย่างไร ขอบคุณล่วงหน้า!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันต้องการทำความเข้าใจเกี่ยวกับรหัส VBA สำหรับ "นำเข้าไฟล์ Xml หลายไฟล์จากโฟลเดอร์หนึ่งไปยังแผ่นงานเดียวด้วย VBA" 1. เหตุใดจึงต้องมีสมุดงาน 2 เล่มแทนที่จะเป็น 1 2. การโหลดไฟล์ xml จำนวนมากเข้าสู่ excel ต้องใช้เวลาพอสมควร มีโค้ดที่มีประสิทธิภาพมากกว่านี้ไหม เนื่องจากฉันรู้ดีว่าเมื่อโค้ดของคุณถูกรัน เวิร์กบุ๊ก VBA จำนวนมากจึงถูกสร้างขึ้นซึ่งทำให้เกิดการชะลอตัว ฉันจะขอบคุณมากถ้าคุณสามารถช่วยให้ฉันเข้าใจ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขออภัย ฉันไม่เข้าใจคำถามแรกของคุณ และสำหรับคำถามที่สอง ยิ่งรหัสที่มีประสิทธิภาพมากขึ้น ฉันไม่พบมัน หากคุณทราบ โปรดทิ้งข้อความไว้ให้ฉัน ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันต้องการทำความเข้าใจเกี่ยวกับโค้ด VBA สำหรับ "การนำเข้าไฟล์ .txt หลายไฟล์จากโฟลเดอร์ไปยังแผ่นงานเดียวด้วย VBA" ตามแถวที่มีถัดไป (ไม่ใช่ในแนวนอน) ขอความช่วยเหลือด่วน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ถ้าคุณต้องการนำเข้าไฟล์ txt ทั้งหมดจากโฟลเดอร์หนึ่งไปยังแผ่นงานเดียว คุณสามารถใช้โค้ด vba ด้านบนเพื่อนำเข้าไฟล์ txt ไปยังสมุดงานก่อน จากนั้นจึงใช้ Kutools สำหรับ Excel's รวมแผ่นงาน เพื่อรวมแผ่นงานทั้งหมดของสมุดงาน หนึ่งแผ่น จากนั้นเป็นไฟล์ txt ในแผ่นงาน หวังว่ามันจะช่วยคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ปัญหาคือคำสั่ง VBA หรือ Kutools อนุญาตให้นำเข้าไฟล์ csv ด้วยการจัดรูปแบบรหัสอักขระ พรีโหลดเป็นแบบตะวันตก ฉันต้องนำเข้าไฟล์ csv ทั้งหมดเป็น unicode-8
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสสำหรับการแปลงจากไฟล์ txt ไม่ได้ผลสำหรับฉัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขออภัย บทความนี้ใช้ไม่ได้สำหรับคุณ คุณช่วยอธิบายปัญหาของคุณได้ไหม จะเกิดอะไรขึ้นขณะรันโค้ด? และคุณทำงานระบบอะไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี! รหัส "นำเข้าไฟล์ csv จากโฟลเดอร์ไปยังแผ่นงานเดียว" ใช้งานได้สำหรับฉัน! แต่รหัสนี้ใช้ไม่ได้กับไฟล์ .txt ที่ว่างเปล่า มีวิธีใดบ้างที่จะเก็บไฟล์เปล่าไว้ด้วย?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขออภัย ฉันไม่รู้ว่าทำไมต้องนำเข้า txt.file ที่ว่างเปล่า~เพียงแค่แทรกแถวว่างเพื่อแยกเนื้อหา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไมค์: "รหัสสำหรับการแปลงจากไฟล์ txt ใช้งานไม่ได้สำหรับฉัน"

ฉันมีปัญหาเดียวกัน ข้อผิดพลาดแมโครออกถ้าคุณมีไฟล์ txt ที่จะเปิดมากกว่าแผ่นงานในสมุดงานของคุณ (ค่าเริ่มต้นคือ 3)
ฉันแก้ไขโดยเพิ่มสิ่งต่อไปนี้ก่อนที่ลูปจะออกเพื่อให้มาโครสร้างชีตใหม่หลังจากส่วนที่เหลือ
ActiveWorkbook.sheets.Add After:=Worksheets(Worksheets.Count)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ชาด วิธีนี้ใช้ได้ผลดีสำหรับฉันในการนำเข้าไฟล์ข้อความหลายไฟล์ ขอขอบคุณ.

คุณรู้หรือไม่ว่ามีวิธีดึงชื่อไฟล์หรือไม่? ฉันต้องการคัดลอกชื่อไฟล์ข้อความลงในแท็บแผ่นงาน Excel แต่ละแท็บ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
น่าทึ่งมาก! พยายามเปิดไฟล์ csv ทั้งหมดในแผ่นงานเดียวและทำงานได้อย่างสวยงาม ขอบคุณมากจริงๆ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันพยายามเรียกใช้โค้ดสำหรับ .xml แต่ดูเหมือนว่าจะไม่ทำงานเนื่องจากได้รับข้อความ "no files xml" จะแก้ไขสิ่งนี้ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันจะแสดงข้อความว่า "no files xml" ในขณะที่โฟลเดอร์ที่คุณเลือกไม่มีไฟล์ xml คุณสามารถเลือกโฟลเดอร์ที่ถูกต้องซึ่งมีไฟล์ xml ในกล่องโต้ตอบ popping หลังจากเรียกใช้โค้ดเพื่อนำเข้าไปยังแผ่นงานที่ใช้งานอยู่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันทำงาน! ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี saya mau tanya kalo impor txt file ke satu แผ่น gimana ya?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เรนดี้ คุณต้องการนำเข้า txt ทั้งหมดไปยังหนึ่งชีตหรือแต่ละ txt ไปยังแต่ละชีตหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีรหัสที่จะนำเข้า txts ไปยังแผ่นงานแต่ละ txt ไปยังแต่ละแผ่นงาน แต่ฉันต้องการให้นำเข้าทุก txt ด้วยชื่อของมันไปยังแผ่นงาน ฉันหมายถึงเปลี่ยนชื่อทุกแผ่นที่นำเข้าด้วยชื่อของ txt ไฟล์รหัสที่แนบมา .. ฉันต้องการแก้ไข ไฟล์เพื่อเพิ่มรหัสสำหรับการเปลี่ยนชื่อชีตด้วยชื่อ txts ... ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีรหัสที่จะนำเข้า txts ไปยังแผ่นงานแต่ละ txt ไปยังแต่ละแผ่นงาน แต่ฉันต้องการให้นำเข้าทุก txt ด้วยชื่อของมันไปยังแผ่นงาน ฉันหมายถึงเปลี่ยนชื่อทุกแผ่นที่นำเข้าด้วยชื่อของ txt ไฟล์รหัสที่แนบมา .. ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Ramy, zahran คุณสามารถลองใช้โค้ดด้านล่างซึ่งสามารถนำเข้าไฟล์ข้อความและเปลี่ยนชื่อชีตเป็นชื่อไฟล์ข้อความได้
ย่อย LoadPipeDelimitedFiles()
'UpdatebyExtendoffice20180925
Dim xStrPath เป็นสตริง
Dim xFileDialog เป็น FileDialog
Dim xFile เป็นสตริง
Dim xCount ตราบใด
Dim xWS เป็นแผ่นงาน

เกิดข้อผิดพลาด GoTo ErrHandler
ตั้งค่า xFileDialog = Application.FileDialog (msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = เท็จ
xFileDialog.title = "เลือกโฟลเดอร์ [Kutools for Excel]"
ถ้า xFileDialog.Show = -1 แล้ว
xStrPath = xFileDialog.SelectedItems(1)
End If
ถ้า xStrPath = "" จากนั้นออกจาก Sub
Application.ScreenUpdating = เท็จ
xFile = Dir(xStrPath & "\*.txt")
ทำในขณะที่ xFile <> ""
xCount = xCount + 1
ตั้งค่า xWS = ชีต (xCount)
xWS. เลือก
xWS.Name = "TEXT" & ซ้าย (xFile, Len (xFile) - 4)
ด้วย ActiveSheet.QueryTables.Add(การเชื่อมต่อ:="TEXT;" _
& xStrPath & "\" & xFile ปลายทาง:=Range("A1"))
.Name = "a" & xCount
.FieldNames = จริง
.RowNumbers = เท็จ
.FillAdjacentFormulas = เท็จ
.PreserveFormatting = จริง
.RefreshOnFileOpen = เท็จ
.RefreshStyle = xlInsertDeleteCells
.SavePassword = เท็จ
.SaveData = จริง
.AdjustColumnWidth = จริง
.RefreshPeriod = 0
.TextFilePromptOnRefresh = เท็จ
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = เท็จ
.TextFileTabDelimiter = เท็จ
.TextFileSemicolonDelimiter = เท็จ
.TextFileCommaDelimiter = เท็จ
.TextFileSpaceDelimiter = เท็จ
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = อาร์เรย์ (1, 1, 1)
.TextFileTrailingMinusNumbers = จริง
.รีเฟรช BackgroundQuery:=False
xFile = ผู้อำนวยการ
จบด้วย
ห่วง
Application.ScreenUpdating = จริง
ออกจาก Sub
ตัวจัดการข้อผิดพลาด:
MsgBox "ไม่มีไฟล์ txt", "Kutools สำหรับ Excel"
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี! ฉันใช้รหัสเพื่อรวมไฟล์ XML หลายไฟล์เป็นไฟล์เดียว แต่น่าเสียดายที่คอลัมน์ต่างๆ เกิดความสับสน ไฟล์ 5 ไฟล์ที่ถูกรวมทั้งหมดมีรูปแบบเดียวกัน มีวิธีแก้ไขปัญหานี้หรือไม่? ฉันยังสงสัยว่ามีวิธีกำจัดส่วนหัวที่ซ้ำกันเมื่อรวมไฟล์หรือไม่ ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอขอบคุณ. ไซต์นี้ได้รับความช่วยเหลืออย่างมาก ฉันมีปัญหาหนึ่งที่ฉันไม่สามารถเข้าใจได้ ฉันกำลังพยายามนำเข้าไฟล์ csv หลายไฟล์ไปยังแผ่นงาน excel แยกกันใน excel และให้เปลี่ยนชื่อแต่ละแผ่นตามชื่อไฟล์ของไฟล์ csv ฉันรู้ว่าสิ่งนี้ครอบคลุมด้านล่างสำหรับไฟล์ txt แต่ฉันกำลังทำงานกับไฟล์ csv ขอบคุณล่วงหน้า.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี - ฉันกำลังใช้การนำเข้าไฟล์ csv ทั้งหมดเป็นไฟล์เดียวที่ระบุไว้ข้างต้น "นำเข้าไฟล์ Csv หลายไฟล์จากโฟลเดอร์หนึ่งไปยังแผ่นงานเดียวด้วย VBA" - ฉันต้องการกำหนดโฟลเดอร์ที่จะรวบรวมข้อมูลโดยไม่ต้องเลือกด้วยตนเอง มัน. สามารถทำได้หรือไม่ ขอบคุณ - SW
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Scott W ฉันพบว่ารหัส VBA อาจช่วยคุณได้
ตัวเลือกที่ชัดเจน

นำเข้าย่อย CSVsWithReference()
'ผู้แต่ง: เจอร์รี่ โบแคร์
'วันที่: 10/16/2010
'สรุป: นำเข้าไฟล์ CSV ทั้งหมดจากโฟลเดอร์ไปยังแผ่นงานเดียว
' เพิ่มฟิลด์ในคอลัมน์ A แสดงรายการชื่อไฟล์ CSV

Dim wbCSV เป็นสมุดงาน
Dim wsMstr เป็นแผ่นงาน: ตั้งค่า wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'เส้นทางไปยังไฟล์ CSV รวม \
ติ่มซำ fCSV เป็นสตริง

ถ้า MsgBox("ล้างแผ่นงานที่มีอยู่ก่อนที่จะนำเข้า?", vbYesNo, "Clear?") _
= vbYes แล้วก็ wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'เร่งความเร็วมาโคร

fCSV = Dir(fPath & "*.csv") 'เริ่มรายการไฟล์ CSV

ทำในขณะที่เลน(fCSV) > 0
'เปิดไฟล์ CSV
ตั้งค่า wbCSV = Workbooks.Open (fPath & fCSV)
'แทรก col A และเพิ่มชื่อ CSV
คอลัมน์(1).แทรก xlShiftToRight
คอลัมน์(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'คัดลอกวันที่ลงในมาสเตอร์ชีตและปิดไฟล์ต้นฉบับ
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV ปิดเท็จ
'พร้อม CSV ถัดไป
fCSV = ผบ
ห่วง

Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วิธีกำจัดส่วนหัวที่ซ้ำกันและคอลัมน์ชื่อไฟล์ CSV โปรดช่วยด้วย....ฉันได้อ่านบทความมาหลายบทความแล้ว แต่น่าเสียดายที่ผลลัพธ์ทั้งหมดเหมือนกัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี - ฉันใช้รหัส VBA ของคุณเพื่อดึงข้อมูลจากไฟล์ CSV หลายไฟล์ไปยังไฟล์ excel (รหัสในหน้านี้) และแปลงไฟล์ csv เป็นไฟล์ excel (อันนี้: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html) ด้วยผลลัพธ์ที่ยอดเยี่ยม พวกเขาช่วยฉันประหยัดเวลาได้มาก

อย่างไรก็ตาม ฉันสังเกตเห็นปัญหาทั่วไปของรหัสทั้งสองประเภทนี้ เพื่อความชัดเจน ระบบของฉันได้รับการตั้งค่าให้ใช้มาตรฐานยุโรปสำหรับวันที่ ในขณะที่ไฟล์ CSV บางไฟล์ที่ฉันได้รับสำหรับงานของฉันมีวันที่ตามมาตรฐานของสหรัฐอเมริกา ปัญหาแรกคือ เมื่อฉันแยกหรือแปลงข้อมูลจากไฟล์ CSV ที่มีวันที่ในรูปแบบสหรัฐอเมริกา วันที่ทั้งหมดจะถูกกลับรายการ (ตรงกับมาตรฐาน EU ที่ระบบของฉันใช้) วิธีนี้ดีมาก แต่ก็สร้างปัญหาให้กับฉันด้วยเนื่องจากฉันไม่รู้ว่ารหัสจะย้อนวันที่ให้ฉัน ดังนั้นฉันจึงดำเนินการแบบเดิมอีกครั้ง ปัญหาที่สองคือ สำหรับไฟล์ CSV ที่มีวันที่อยู่แล้วในรูปแบบเดียวกับที่ระบบของฉันใช้ (มาตรฐานของสหภาพยุโรป) จะกลับรายการเฉพาะวันที่ไม่ชัดเจนเท่านั้น (เช่น 04/05/2019 - 05/04/2019) ในขณะที่สิ่งที่ชัดเจนเกินไปยังคงไม่เปลี่ยนแปลง (เช่น 30/04/2019)

สิ่งที่ฉันต้องการให้โค้ดทำ เป็นสิ่งเดียวกับที่แสดงที่นี่ เพียงแต่ควรคัดลอกและวางข้อมูล (โดยเฉพาะวันที่) ในรูปแบบที่แน่นอนที่ใช้ในไฟล์ต้นฉบับ ซึ่งจะช่วยป้องกันความสับสนและข้อผิดพลาดที่อาจเกิดขึ้นได้ ฉันต้องการเรียนรู้ VBA เพื่อวันหนึ่งฉันจะสามารถเขียนโค้ดของตัวเองได้ แต่ตอนนี้ ฉันยังไม่สามารถแก้ไขส่วนต่างๆ ของรหัสที่มีอยู่เพื่อให้เหมาะกับความต้องการของฉันได้ ดังนั้น หากคุณสามารถช่วยได้ โปรดบอกฉันว่าฉันควรใส่รหัสที่แก้ไขแล้ว (ที่คุณคิดขึ้นเอง) ไว้ที่ใดในรหัสที่มีอยู่ ฉันขอขอบคุณข้อเสนอแนะและการสนับสนุนทั้งหมดที่ฉันจะได้รับ ขอบคุณทุกคน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Marshall ในวิธี Workbooks.Open ให้เพิ่มตัวเลือก Local:=True

เช่น
ตั้งค่า xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากโรเบิร์ต ขออภัย ฉันไม่สามารถตอบคุณได้ก่อนหน้านี้ ฉันไม่ได้รับการแจ้งเตือนใดๆ จนกระทั่งตอนนี้ ฉันจะลองใช้งานและกลับมาหาคุณในภายหลังเพื่อแจ้งให้คุณทราบว่าวิธีนี้ใช้ได้ผลหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโรเบิร์ต,
เป็นฉันอีกแล้ว ฉันใช้เวลาสักครู่กว่าจะมีเวลาคิดออกว่าส่วน "Local:True" ควรเพิ่มเข้าไปในส่วนใดของโค้ด ผลลัพธ์ที่ได้กลับกลายเป็นว่ายอดเยี่ยมเนื่องจากวันที่ไม่มีการย้อนกลับอีกต่อไป ขอขอบคุณ!
สำหรับใครที่มีปัญหาเดียวกัน ให้เปลี่ยนบรรทัดนี้:
ตั้งค่า xWb = สมุดงาน OpenXML(xStrPath & "\" & xFile)

สำหรับสิ่งนี้:
ตั้งค่า xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี มีวิธีใดบ้างในการนำเข้าไฟล์ csv หลายไฟล์โดยใช้เครื่องหมายอัฒภาคเป็นตัวคั่น ขอขอบคุณ!
PS บทความที่ดี!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีทีมงาน

ฉันกำลังใช้รหัสสำหรับนำเข้าไฟล์ XML หลายไฟล์ลงในแผ่นงานเดียวด้วย VBA แต่ปัญหาที่ฉันกำลังเผชิญคือเมื่อจำนวนแถวถึงประมาณ 650000 มันจะไม่ประมวลผลไฟล์ xml ที่เหลือในโฟลเดอร์และให้ข้อผิดพลาดที่ไม่มีไฟล์ xml . ต้องการการสนับสนุนจากคุณเพื่อเพิ่มจำนวนนี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ผู้เชี่ยวชาญ

ฉันใช้รหัสด้านบนเพื่อนำเข้าไฟล์ xml หลายไฟล์ลงใน 1 แผ่นงานโดยใช้ VBA อย่างไรก็ตาม ปัญหาที่ฉันกำลังเผชิญอยู่คือเมื่อจำนวนแถวถึง 650000 ในแผ่นงาน รหัสนี้จะไม่ประมวลผลไฟล์ xml ที่เหลือในโฟลเดอร์ มันให้ข้อผิดพลาด "no files.xml" ต้องการการสนับสนุนของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคำแนะนำสำหรับการนำเข้า xml หลายรายการในแท็บเดียวของเอกสาร excel ใช้งานได้ แต่สงสัยว่าจะจัดแถวคอลัมน์ได้อย่างไร xmls ของฉันไม่มีแท็กเหมือนกันทั้งหมด มีการตั้งค่าดังกล่าวหาก xml ไม่มีข้อมูลสำหรับส่วนหัว (แท็ก) ส่วนหัวจะหายไปจาก xml นั้น มีวิธีนำเข้า xmls เพื่อให้ส่วนหัวเดียวกันจากแต่ละ xml และข้อมูลที่เกี่ยวข้องตกอยู่ในคอลัมน์เดียวกันของ excel หรือไม่
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
โหลดเพิ่มเติม
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL