Page 1 of 1

การ import text ไฟล์ลงตาราง

Posted: Thu Dec 06, 2012 5:34 pm
by tstc79tt
ผมมีไฟล์ text อยู่แล้วพอ import ไฟล์ ลงตารางมันครั้งแรกไม่เป็นไรครับ แล้วก็ พอกด อีกครั้งแทนที่มันจะ ทับอันเก่าไป มันกลับดันตารางเก่าไปข้างๆ แทน

ใช้ cell.clear ใน VBA ไม่ได้ด้วยครับ เพราะมันจะทำให้ทุกอย่างใน sheet นั้นหายไป

มีไฟล์ทดลองด้านล่างครับ


(ผมตั้งกระทู้ใหม่เพราะคิดว่ามันเรื่องใหม่น่ะครับ)

Re: การ import text ไฟล์ลงตาราง

Posted: Thu Dec 06, 2012 5:48 pm
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Sub ImportTextFile()
    Dim rPaht As String
    Dim rFileName As String
    rPaht = Sheet1.Range("C9")
    rFileName = Sheet1.Range("C10")
    Range("G8").CurrentRegion.Offset(1, 0).Clear
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & rPaht & "\" & rFileName & ".txt", Destination:= _
        Range("$g$9"))
        .Name = Sheet1.Range("C10").Value
        .TextFilePlatform = 874
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileOtherDelimiter = ":"
        .Refresh BackgroundQuery:=False
    End With
    Sheet1.Range("C9") = rPaht
    Sheet1.Range("C10") = rFileName
End Sub



Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 9:09 am
by tstc79tt
มันลบตาราง และก็ผลคำนวนฟั่งชั่นทางด้านซ้าย ออกหมดเลยครับ แต่ข้อมูลอยู่กับที่ไม่ดันแล้วครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 9:35 am
by snasui
:D
tstc79tt wrote:มันลบตาราง และผลคำนวนฟั่งชั่นทางด้านซ้าย ออกหมดเลยครับ แต่ข้อมูลอยู่กับที่ไม่ดันแล้วครับ
ผลการคำนวณด้านซ้ายที่ว่านั้นอยู่ในช่วงเซลล์ใด ตัวอย่างที่แนบมาเป็นตัวแทนของไฟล์จริงหรือไม่ ช่วยระบุช่วงข้อมูลที่ต้องการลบให้ชัดเจนครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 10:17 am
by tstc79tt
นี่ครับ หากลงกดimport ไฟล์ ดูมันจะลบตารางทิ้งเลยอ่ะครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 10:24 am
by snasui
:shock: Code ที่เขียนไปนั้นเป็นการ Clear ทุกอย่าง จึงไม่แปลกที่ตารางจะถูกลบทิ้งครับ ให้ตอบสิ่งที่ผมถามไปครับ
tstc79tt wrote:ผลการคำนวณด้านซ้ายที่ว่านั้นอยู่ในช่วงเซลล์ใด ตัวอย่างที่แนบมาเป็นตัวแทนของไฟล์จริงหรือไม่ ช่วยระบุช่วงข้อมูลที่ต้องการลบให้ชัดเจนครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 10:53 am
by tstc79tt
ส่วนช่วงที่ต้องการ ในการimport และ ให้ลบอยู่ ในช่วงคอลัม G9 H9 I9 ลงมาเรื่อยๆ


ช่วงที่ฟังชั่นอยู่และไม่ต้องการให้หายไปคือในช่วงคอลัม J9 ลงมาเรื่อยๆครับ

ขอโทษครับ

ไม่ใช่ไฟล์จริงครับ ผมอยากรู้แล้วเอาไปดูๆศึกษาน่ะครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 11:58 am
by snasui
:D ลองปรับ code เป็นตามด้านล่างครับ

Code: Select all

Sub ImportTextFile()
    Dim rPaht As String
    Dim rFileName As String
    rPaht = Sheet1.Range("C9")
    rFileName = Sheet1.Range("C10")
    Range("G8").CurrentRegion.Offset(1, 0).Resize(, 3).Clear
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & rPaht & "\" & rFileName & ".txt", Destination:= _
        Range("$g$9"))
        .Name = Sheet1.Range("C10").Value
        .TextFilePlatform = 874
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileOtherDelimiter = ":"
        .Refresh BackgroundQuery:=False
    End With
    Sheet1.Range("C9") = rPaht
    Sheet1.Range("C10") = rFileName
End Sub

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 2:37 pm
by tstc79tt
ขอบคุณครับ :)

ถามเพิ่มน่ะครับ เช่น สมมุติว่า มีหลาย ชีต น่ะครับ ต้องการรัน โคดนี้ จาก Sheet1 แล้วนำผลไปลงที่ Sheet3 ได้ไหมครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 2:45 pm
by snasui
:lol: สามารถทำได้ครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 3:54 pm
by tstc79tt
ผมลอง ใส่ Sheet3.Range("G8").CurrentRegion.Offset(1, 0).Resize(, 3).Clear
ลงไปบรรทัดแต่มันก็ฟ้องว่า มันสร้างตารางลงผิดที่
และก็อีกอันคือ
ย้ายโคดไป sheet3
ผมลอง assign button ให้เรียก ฟังชั่นจาก sheet 3 มาเลย ก็ไม่ได้ครับ

ผมต้องแก้ตรงไหน หรือว่า มีโคดไหนต้องใส่เพิ่มหรือป่าว ขอแนะนำครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 4:11 pm
by snasui
:D แนบไฟล์พร้อม Code ที่ปรับเองแล้วมาด้วยครับ

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 5:21 pm
by tstc79tt
นี่ครับ ผม ใส่ปุ่มที่ดึงโคดมาจากแต่ละชีตแยกไว้ด้วย

Re: การ import text ไฟล์ลงตาราง

Posted: Fri Dec 07, 2012 7:16 pm
by snasui
:D กรณีดึงไป Sheet3 ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Sub ImportTextFile()
    Dim rPaht As String
    Dim rFileName As String
    rPaht = Sheet1.Range("C9")
    rFileName = Sheet1.Range("C10")
    Sheet3.Range("G8").CurrentRegion.Offset(1, 0).Resize(, 3).Clear
    With Sheet3.QueryTables.Add(Connection:= _
        "TEXT;" & rPaht & "\" & rFileName & ".txt", Destination:=Sheet3.Range("$g$9"))
        .Name = Sheet1.Range("C10").Value
        .TextFilePlatform = 874
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileOtherDelimiter = ":"
        .Refresh BackgroundQuery:=False
    End With
'    Sheet1.Range("C9") = rPaht
'    Sheet1.Range("C10") = rFileName
End Sub