Page 1 of 1

VBA ดึงข้อมูลคะแนน แต่ดึงชื่อชีทมาแทน

Posted: Sat Aug 02, 2014 11:04 pm
by aueijung
:mrgreen: ใช้ VBA ดึงข้อมูลคะแนนกลางภาคมาแสดงที่ชีทปัจจุบัน โดยดึงคะแนนกลางภาคเทอม1 มาแสดง แต่ VBA มันดึงชื่อชีทมาแทน ครับอาจารย์ เราจะแก้อย่างไรครับ
excel.rar
แนบไฟล์มาให้อาจารย์ดูด้วยครับ
(245.01 KiB) Downloaded 17 times
ภาพประกอบครับ
ภาพประกอบครับ
pic.jpg (125.14 KiB) Viewed 123 times

Re: VBA ดึงข้อมูลคะแนน แต่ดึงชื่อชีทมาแทน

Posted: Sun Aug 03, 2014 7:13 am
by snasui
:D แสดงตัวอย่างที่ถูกต้องมาด้วยครับ จะได้เห็นว่าหากถูกต้องแล้วผลลัพธ์จะเป็นลักษณะอย่างไร จะได้เข้าใจตรงกันครับ

Re: VBA ดึงข้อมูลคะแนน แต่ดึงชื่อชีทมาแทน

Posted: Sun Aug 03, 2014 12:14 pm
by aueijung
ผลลัพธ์ดังภาพครับอาจารย์
ภาพตัวอย่างผลลัพธ์
ภาพตัวอย่างผลลัพธ์
pic.jpg (125.48 KiB) Viewed 121 times
และ
excel.rar
ไฟล์ตัวอย่างผลลัพธ์
(245.86 KiB) Downloaded 17 times

Re: VBA ดึงข้อมูลคะแนน แต่ดึงชื่อชีทมาแทน

Posted: Sun Aug 03, 2014 12:59 pm
by snasui
:D ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Option Explicit
Private Sub Button1_Click()
    Dim directory As String, fileName As String
    Dim sheet As Worksheet, j As Integer
    Dim tempBook As Workbook, thsBook As Workbook
    Application.ScreenUpdating = False
    directory = "d:\excel\term1\"
    fileName = Dir(directory & "*.xl??")
    Set thsBook = ThisWorkbook
    j = 3
    Do While fileName <> ""
        Set tempBook = Workbooks.Open(directory & fileName)
        thsBook.Sheets(1).Cells(4, j) = tempBook.Name
        thsBook.Worksheets(1).Cells(6, j).Resize(5, 1).Value = _
            tempBook.Sheets(3).Range("e3:e7").Value
        j = j + 1
        tempBook.Close False
        fileName = Dir()
    Loop
    Application.ScreenUpdating = True
End Sub

Re: VBA ดึงข้อมูลคะแนน แต่ดึงชื่อชีทมาแทน

Posted: Sun Aug 03, 2014 1:23 pm
by aueijung
:mrgreen: อาจารย์ครับ ใช้ได้ดีมากเลยครับ ขอบพระคุณมากๆ ครับอาจารย์ :thup: