:!: โปรดทราบ Image
    1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
    2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
      1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
      2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
    3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
    4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
    5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ ==> กำหนดขนาดตัวอักษรใน Browser Image

ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#1

Postby aapichaya » Mon Nov 13, 2017 2:03 pm

ต้องการimport ข้อมูลจากโฟลเดอร์ที่เราเลือก โดยให้ข้อมูลแสดงในSheet1 ให้ข้อมูลที่importมา จัดเก็บในชีทเดิมต่อจากแถวสุดท้าย และนำข้อมูลทั้งหมดไปประมวลผลต่อไป จากที่ศึกษาเป็นการcopy worksheet ที่เพิ่มขึ้นมา before กับ after sheet ช่วยให้คำแนะนำหน่อยค่ะ

Code: Select all

Sub ImportSheet()
    Dim sImportFile As String, sFile As String
    Dim sThisBk As Workbook
    Dim vfilename As Variant
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set sThisBk = ActiveWorkbook
    sImportFile = Application.GetOpenFilename( _
    FileFilter:="All Excel Files, *.xls; *.xlsx;*.xlsm;*.csv", Title:="Open Workbook")
    If sImportFile = "False" Then
        MsgBox "No File Selected!"
        Exit Sub
         
    Else
        vfilename = Split(sImportFile, "\")
        sFile = vfilename(UBound(vfilename))
        Application.Workbooks.Open Filename:=sImportFile
         
        Set wbBk = Workbooks(sFile)
        With wbBk
            If SheetExists("Raw_Data") Then
                Set wsSht = .Sheets("Raw_Data")
                wsSht.Copy before:=sThisBk.Sheets("Sheet1")
            Else
                MsgBox "There is no sheet with name :Raw_Data in:" & vbCr & .Name
            End If
            wbBk.Close SaveChanges:=False
        End With
    End If
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
Private Function SheetExists(sWSName As String) As Boolean
    Dim ws As Worksheet
    On Error Resume Next
    Set ws = Worksheets(sWSName)
    If Not ws Is Nothing Then SheetExists = True
End Function

You do not have the required permissions to view the files attached to this post.

puriwutpokin
Silver
Silver
Posts: 910
Joined: Fri Jan 04, 2013 9:49 pm

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#2

Postby puriwutpokin » Mon Nov 13, 2017 8:00 pm

ควรแนบไฟล์ที่จะ import เป็นตัวอย่างด้วยครับ เบื้องต้นลองศึกษาจาก นี้ครับ
viewtopic.php?f=3&t=11812&p=72907&hilit=import#p72907
ติดตรงไหนมาถามกันในนี้ต่อครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 22225
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#3

Postby snasui » Mon Nov 13, 2017 8:06 pm

:D ศึกษาได้จาก Video ด้านล่างนี้ ลองปรับ Code มาเองก่อน ติดตรงไหนค่อยนำมาถามกันต่อครับ


aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#4

Postby aapichaya » Tue Nov 14, 2017 2:29 pm

puriwutpokin wrote:ควรแนบไฟล์ที่จะ import เป็นตัวอย่างด้วยครับ เบื้องต้นลองศึกษาจาก นี้ครับ
viewtopic.php?f=3&t=11812&p=72907&hilit=import#p72907
ติดตรงไหนมาถามกันในนี้ต่อครับ


ขอบคุณมากค่ะ :D

aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#5

Postby aapichaya » Tue Nov 14, 2017 2:34 pm

snasui wrote::D ศึกษาได้จาก Video ด้านล่างนี้ ลองปรับ Code มาเองก่อน ติดตรงไหนค่อยนำมาถามกันต่อครับ


ขอบคุณมากค่ะ :D .
ถ้าเราต้องการเก็บไฟล์ไปเรื่อยๆ เราสามารถลบบรรทัดที่ clear content ออกได้ไหมคะ

Code: Select all

Sub collectData()
    Dim wb As Workbook, s As Worksheet, db As Worksheet
    Dim StrPath As Variant, i As Integer, f As Byte
        StrPath = Application.GetOpenFilename(FileFilter:="All Excel Files, *.xls; *.xlsx;*.xlsm;*.csv", _
         MultiSelect:=True)
         If TypeName(StrPath) = "Boolean" Then Exit Sub
         Set db = ThisWorkbook.Sheets(1)
       
   'db.UsedRange.ClearContents
          Application.ScreenUpdating = False
            For i = 1 To UBound(StrPath)
                Set wb = Workbooks.Open(StrPath(1))
                For Each s In wb.Worksheets
                f = IIf(db.Range("a1").Value = "", 0, 1)
                If s.Range("a1").Value <> "" Then
                s.UsedRange.Offset(f, 0).Copy
                With db
                .Range("a" & .Rows.Count).End(xlUp).Offset(f, 0) _
                        .PasteSpecial xlPasteValues
                        End With
                        End If
                                     
                Next s
                wb.Close False
                Application.ScreenUpdating = False
                 Next i
          Application.ScreenUpdating = True
          MsgBox "Finished.", vbInformation
         
End Sub

puriwutpokin
Silver
Silver
Posts: 910
Joined: Fri Jan 04, 2013 9:49 pm

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#6

Postby puriwutpokin » Tue Nov 14, 2017 8:31 pm

ตามโค้ดถ้าไม่ต้องเคลียร์ข้อมูลเก่าก็ลบได้คำสั่งนั้นไดเลยเลยครับ

aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#7

Postby aapichaya » Wed Nov 15, 2017 7:55 am

puriwutpokin wrote:ตามโค้ดถ้าไม่ต้องเคลียร์ข้อมูลเก่าก็ลบได้คำสั่งนั้นไดเลยเลยครับ

ขอบคุณมากค่ะ :D

aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#8

Postby aapichaya » Wed Nov 15, 2017 9:13 am

ฝากtestให้หน่อยค่ะ พอดีลองอัพโหลดทีละสองไฟล์พร้อมกันแล้ว ผลคือขึ้นไฟล์แรกสองอัน พอจะมีวิธีแก้ไขไหมคะ

ปล.ลองtestเครื่องอื่นเเล้วimport ได้ปกติเเต่เครื่องตัวเองทำไม่ได้ :(
You do not have the required permissions to view the files attached to this post.

aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#9

Postby aapichaya » Wed Nov 15, 2017 9:14 am

ผลจากการเทสในเครื่องตัวเองค่ะ
You do not have the required permissions to view the files attached to this post.

aapichaya
Member
Member
Posts: 9
Joined: Wed Nov 08, 2017 7:55 am

Re: ขอสอบถามเกี่ยวกับโค้ดImport ข้อมูล

#10

Postby aapichaya » Wed Nov 15, 2017 11:45 am

:cry: :cry: ขอโทษค่ะ ได้เเล้วค่ะพิมพ์โค้ดผิด


Return to “Excel”

Who is online

Users browsing this forum: 060090, puriwutpokin and 32 guests