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

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#21

Post by nisit2559 »

แสดงว่าผมต้องเขียนโค้ดให้เช็คทุกครั้งที่มีการเปิดไฟล์ขึ้นมาเลยใช้ไหมครับ แล้วเวลาเซฟนี้สามารถเขียนโค้ดอย่างนี้เพื่อให้มันเชฟอัตโนมัตเป็นชื่อวันที่ได้ไหมครับ

Code: Select all

Public Sub saveasfile()
ThisWorkbook.Saveas Filename:="D:\MMCT\Work\ Today()"
End sub
ขอบคุณครับ
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

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

#22

Post by logic »

ตัวอย่างการ Save As ดูได้ที่ลิงก์นี้ครับ http://www.snasui.com/viewtopic.php?t=7111#p45353
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#23

Post by nisit2559 »

logic wrote:ตัวอย่างการ Save As ดูได้ที่ลิงก์นี้ครับ http://www.snasui.com/viewtopic.php?t=7111#p45353
ขอบคุณครับ :cp:
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#24

Post by nisit2559 »

IMG_0830[1].jpg
IMG_0831[1].jpg
สอบถามเกี่ยวกับการแสดงเงื่อนไขครับมันขึ้นเออเรอดังรูปต้องแก้อย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#25

Post by snasui »

:D แนบไฟล์พร้อม Code ที่มีปัญหามาด้วยจะได้สะดวกในการทดสอบครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#26

Post by nisit2559 »

snasui wrote::D แนบไฟล์พร้อม Code ที่มีปัญหามาด้วยจะได้สะดวกในการทดสอบครับ
นี้ครับตัวอย่างโค้ด

Code: Select all

Sub Macro1()
'
' Macro1 Macro
'

'
     Set cell_to = Cells(1, 1)
     Set active_workbook = ActiveWorkbook
     Set active_sheet = ActiveSheet
     Application.DisplayAlerts = False
     File_Path = "D:\MMCT\MMCT\excel\"
     strName = Dir(File_Path & "\" & "*.csv")
     Dim X
     Dim Y
     Dim z
     Y = 2
     X = 2
     Dim data_sheet As Single
     Workbooks("boox1").Worksheets("sheet1").Range("b1441").Value = data_sheet
     If data_sheet > 1 Then
     Call Macro3
     Else
     Do While strName <> vbNullString
    
        If active_workbook.Name <> strName And strName <> "" Then
            Workbooks.Open Filename:=File_Path & "\" & strName
            Set dataset_workbook = ActiveWorkbook
            Range("Z2:BG31").Select
            RowInc = Selection.Rows.Count
            Selection.Copy
            Windows("boox1.xlsx").Activate
            Sheets("Sheet1").Select
            Cells(Y, 2).Select
            ActiveSheet.Paste
            Worksheets("Sheet1").Cells(X, 1).Value = Now()
            Y = Y + RowInc
            X = X + RowInc
            dataset_workbook.Close
            
        End If
     strName = Dir
     Loop
     End If
     
     Application.DisplayAlerts = True
     
    End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#27

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปครับ

จาก Set cell_to = Cells(1, 1) ไม่ทราบว่า Cells(1, 1) คือเซลล์ A1 ของชีตใดครับ :?:

Workbooks("boox1").Worksheets("sheet1").Range("b1441").Value = data_sheet Code นี้ boox1 จะต้องเปิดอยู่ก่อนเสมอไม่เช่นนั้นจะ Error ปกติชื่อไฟล์จะต้องมีนามสกุลไฟล์อยู่ด้วย เช่น .xlsx, xlsm ฯลฯ ยกเว้นเป็นไฟล์ที่เปิดขึ้นมาใหม่ยังไม่ได้ Save

ตัวแปร data_sheet คือค่าใด กำหนดตัวแปรไว้ที่ใดครับ :?:
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#28

Post by nisit2559 »

cell A1 เป็นของ ชีด Sheet1 ครับในworkbook("Workbook1.1") ส่วน Boox1 นั้นผมเปิดไว้อยู่แล้วครับ นามสกุลใช้ .xlsx ครับ และ data_sheet oั้นผมจะเอาไว้เก็บข้อมูลใน Boox1 cell(b1441)ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#29

Post by snasui »

nisit2559 wrote:cell A1 เป็นของ ชีด Sheet1 ครับในworkbook("Workbook1.1") ส่วน Boox1 นั้นผมเปิดไว้อยู่แล้วครับ นามสกุลใช้ .xlsx ครับ และ data_sheet oั้นผมจะเอาไว้เก็บข้อมูลใน Boox1 cell(b1441)ครับ
ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
data_sheet = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1441").Value
'Other code
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#30

Post by nisit2559 »

snasui wrote:
nisit2559 wrote:cell A1 เป็นของ ชีด Sheet1 ครับในworkbook("Workbook1.1") ส่วน Boox1 นั้นผมเปิดไว้อยู่แล้วครับ นามสกุลใช้ .xlsx ครับ และ data_sheet oั้นผมจะเอาไว้เก็บข้อมูลใน Boox1 cell(b1441)ครับ
ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
data_sheet = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1441").Value
'Other code
ขอบคุณทำได้แล้วครับแต่ผมขอสอบถามเพิ่มเกี่ยวกับการตั้งเงื่อนไขให้ไม่สามรถดึงข้อมูลซ้ำกันได้ครับจะต้องแก้ไขโค้ดอย่างไรครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#31

Post by snasui »

:D Code ที่เขียนมาเองแล้วคือ Procedure ใด ติดปัญหาบรรทัดใด คำตอบที่ต้องการมีลักษณะเป็นอย่างไร กรุณาอธิบายลำดับขั้นตอนมาอย่างละเอียด และต้องเป็น Code ล่าสุดที่ได้มีการปรับปรุงไปแล้วครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#32

Post by nisit2559 »

snasui wrote::D Code ที่เขียนมาเองแล้วคือ Procedure ใด ติดปัญหาบรรทัดใด คำตอบที่ต้องการมีลักษณะเป็นอย่างไร กรุณาอธิบายลำดับขั้นตอนมาอย่างละเอียด และต้องเป็น Code ล่าสุดที่ได้มีการปรับปรุงไปแล้วครับ
ขอบคุณครับ ตอนนี้ผมติดปัญหาใหม่แล้วครับคือผมต้องการให้มัน save as
เป็นไฟล์ .xlsxและให้มันใช้ข้อมูลในcell a2 ในการนำมาตั้งชื่อครับซึ่งได้ทำตามตัวอย่างโค้ด

Code: Select all

Sub Macro3()
     Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Worksheets("sheet1").Range("a2").Value & ".xlsx", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     Workbooks("boox1.xlsx").Worksheets("sheet1").Range("a2:ai1441").ClearContents
 End Sub
แล้วมันขึ้นว่า error 1004 ครับโดยใช้ไฟล์เก่าเลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#33

Post by snasui »

:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Workbooks("boox1.xlsx").SaveAs Filename:="C:\Users\snasui\Downloads\" & _
        Application.Text(Worksheets("sheet1").Range("a2").Value, "ddmmyyyy") & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'Other code
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#34

Post by nisit2559 »

snasui wrote::D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
Workbooks("boox1.xlsx").SaveAs Filename:="C:\Users\snasui\Downloads\" & _
        Application.Text(Worksheets("sheet1").Range("a2").Value, "ddmmyyyy") & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'Other code
อาจารย์ครับพอผมใช้เซลล์ a2 ไปแล้วแต่พอเซฟออกมาไม่ได้เป็นวันที่ที่ตรงกันครับแล้วพอผมเปลี่ยนไปใช้หน้า Calculation ตรงต่ำแหน่ง g46 มันก็บอกว่าerror ครับ

Code: Select all

Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Calculation").Range("g46").Value, "ddmmyyyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
You do not have the required permissions to view the files attached to this post.
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#35

Post by nisit2559 »

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

Code: Select all

Sub copyflie()
     Set cell_to = Cells(1, 1)
     Set active_workbook = ActiveWorkbook
     Set active_sheet = ActiveSheet
     Application.DisplayAlerts = False
     File_Path = "D:\MMCT\MMCT\excel\"
     strName = Dir(File_Path & "\" & "*.csv")
     Dim X
     Dim Y
     Dim z
     Y = 2
     X = 2
     z = 1
     Dim data_sheet2 As Single
     data_sheet2 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b61").Value
     Dim data_sheet3 As Single
     data_sheet3 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b121").Value
     Dim data_sheet4 As Single
     data_sheet4 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b181").Value
     Dim data_sheet5 As Single
     data_sheet5 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b241").Value
     Dim data_sheet6 As Single
     data_sheet6 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b301").Value
     Dim data_sheet7 As Single
     data_sheet7 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b361").Value
     Dim data_sheet8 As Single
     data_sheet8 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b421").Value
     Dim data_sheet9 As Single
     data_sheet9 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b481").Value
     Dim data_sheet10 As Single
     data_sheet10 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b541").Value
     Dim data_sheet11 As Single
     data_sheet11 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b601").Value
     Dim data_sheet12 As Single
     data_sheet12 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b661").Value
     Dim data_sheet13 As Single
     data_sheet13 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b721").Value
     Dim data_sheet14 As Single
     data_sheet14 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b781").Value
     Dim data_sheet15 As Single
     data_sheet15 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b841").Value
     Dim data_sheet16 As Single
     data_sheet16 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b901").Value
     Dim data_sheet17 As Single
     data_sheet17 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b961").Value
     Dim data_sheet18 As Single
     data_sheet18 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1021").Value
     Dim data_sheet19 As Single
     data_sheet19 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1081").Value
     Dim data_sheet20 As Single
     data_sheet20 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1141").Value
     Dim data_sheet21 As Single
     data_sheet21 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1201").Value
     Dim data_sheet22 As Single
     data_sheet22 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1261").Value
     Dim data_sheet23 As Single
     data_sheet23 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1321").Value
     Dim data_sheet24 As Single
     data_sheet24 = Workbooks("boox1.xlsx").Worksheets("sheet1").Range("b1381").Value
    If data_sheet2 > 0 Then
            For i = 1 To 2
                Workbooks.Open Filename:=File_Path & "\" & strName
                Set dataset_workbook = ActiveWorkbook
                dataset_workbook.Close
                For z = 1 To 2
                    If active_workbook.Name <> strName And strName <> "" Then
                        Workbooks.Open Filename:=File_Path & "\" & strName
                        Set dataset_workbook = ActiveWorkbook
                        Range("Z2:BG31").Select
                        RowInc = Selection.Rows.Count
                        Selection.Copy
                        Windows("boox1.xlsx").Activate
                        Sheets("Sheet1").Select
                        Cells(Y, 2).Select
                        ActiveSheet.Paste
                        Worksheets("sheet1").Cells(X, 1).Value = Now()
                        Y = Y + RowInc
                        X = X + RowInc
                        dataset_workbook.Close
                    End If
                        strName = Dir
                 Next
            Next
            If data_sheet3 > 0 Then
               For i = 1 To 4
                    Workbooks.Open Filename:=File_Path & "\" & strName
                    Set dataset_workbook = ActiveWorkbook
                    dataset_workbook.Close
               Next
               For z = 1 To 2
                    If active_workbook.Name <> strName And strName <> "" Then
                        Workbooks.Open Filename:=File_Path & "\" & strName
                        Set dataset_workbook = ActiveWorkbook
                        Range("Z2:BG31").Select
                        RowInc = Selection.Rows.Count
                        Selection.Copy
                        Windows("boox1.xlsx").Activate
                        Sheets("Sheet1").Select
                        Cells(Y, 2).Select
                        ActiveSheet.Paste
                        Worksheets("sheet1").Cells(X, 1).Value = Now()
                        Y = Y + RowInc
                        X = X + RowInc
                        dataset_workbook.Close
                    End If
                        strName = Dir
                 
               Next
            End If
            If data_sheet4 > 0 Then
               For i = 1 To 6
                    Workbooks.Open Filename:=File_Path & "\" & strName
                    Set dataset_workbook = ActiveWorkbook
                    dataset_workbook.Close
               Next
               For z = 1 To 2
                    If active_workbook.Name <> strName And strName <> "" Then
                        Workbooks.Open Filename:=File_Path & "\" & strName
                        Set dataset_workbook = ActiveWorkbook
                        Range("Z2:BG31").Select
                        RowInc = Selection.Rows.Count
                        Selection.Copy
                        Windows("boox1.xlsx").Activate
                        Sheets("Sheet1").Select
                        Cells(Y, 2).Select
                        ActiveSheet.Paste
                        Worksheets("sheet1").Cells(X, 1).Value = Now()
                        Y = Y + RowInc
                        X = X + RowInc
                        dataset_workbook.Close
                    End If
                        strName = Dir
                 
               Next
            End If
            If data_sheet5 > 0 Then
               For i = 1 To 4
                    Workbooks.Open Filename:=File_Path & "\" & strName
                    Set dataset_workbook = ActiveWorkbook
                    dataset_workbook.Close
               Next
               For z = 1 To 2
                    If active_workbook.Name <> strName And strName <> "" Then
                        Workbooks.Open Filename:=File_Path & "\" & strName
                        Set dataset_workbook = ActiveWorkbook
                        Range("Z2:BG31").Select
                        RowInc = Selection.Rows.Count
                        Selection.Copy
                        Windows("boox1.xlsx").Activate
                        Sheets("Sheet1").Select
                        Cells(Y, 2).Select
                        ActiveSheet.Paste
                        Worksheets("sheet1").Cells(X, 1).Value = Now()
                        Y = Y + RowInc
                        X = X + RowInc
                        dataset_workbook.Close
                    End If
                        strName = Dir
                 
               Next
            End If
            If data_sheet6 > 0 Then
               For i = 1 To 4
                    Workbooks.Open Filename:=File_Path & "\" & strName
                    Set dataset_workbook = ActiveWorkbook
                    dataset_workbook.Close
               Next
               For z = 1 To 2
                    If active_workbook.Name <> strName And strName <> "" Then
                        Workbooks.Open Filename:=File_Path & "\" & strName
                        Set dataset_workbook = ActiveWorkbook
                        Range("Z2:BG31").Select
                        RowInc = Selection.Rows.Count
                        Selection.Copy
                        Windows("boox1.xlsx").Activate
                        Sheets("Sheet1").Select
                        Cells(Y, 2).Select
                        ActiveSheet.Paste
                        Worksheets("sheet1").Cells(X, 1).Value = Now()
                        Y = Y + RowInc
                        X = X + RowInc
                        dataset_workbook.Close
                    End If
                        strName = Dir
                 
               Next
            End If
        Else
           For z = 1 To 2
                If active_workbook.Name <> strName And strName <> "" Then
                    Workbooks.Open Filename:=File_Path & "\" & strName
                    Set dataset_workbook = ActiveWorkbook
                    Range("Z2:BG31").Select
                    RowInc = Selection.Rows.Count
                    Selection.Copy
                    Windows("boox1.xlsx").Activate
                    Sheets("Sheet1").Select
                    Cells(Y, 2).Select
                    ActiveSheet.Paste
                    Worksheets("sheet1").Cells(X, 1).Value = Now()
                    Y = Y + RowInc
                    X = X + RowInc
                    dataset_workbook.Close
                End If
                    strName = Dir
            Next
        End If
    
End Sub
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#36

Post by snasui »

nisit2559 wrote: อาจารย์ครับพอผมใช้เซลล์ a2 ไปแล้วแต่พอเซฟออกมาไม่ได้เป็นวันที่ที่ตรงกันครับแล้วพอผมเปลี่ยนไปใช้หน้า Calculation ตรงต่ำแหน่ง g46 มันก็บอกว่าerror ครับ

Code: Select all

Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Calculation").Range("g46").Value, "ddmmyyyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
:D ช่วยอธิบายคำว่าไม่ได้เป็นวันที่ที่ตรงกัน แนบไฟล์ที่เป็นปัญหามาใหม่ ขอให้เคลียร์ไปทีละปัญหาก่อนที่จะถามต่อเนื่องไปครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#37

Post by nisit2559 »

snasui wrote:
nisit2559 wrote: อาจารย์ครับพอผมใช้เซลล์ a2 ไปแล้วแต่พอเซฟออกมาไม่ได้เป็นวันที่ที่ตรงกันครับแล้วพอผมเปลี่ยนไปใช้หน้า Calculation ตรงต่ำแหน่ง g46 มันก็บอกว่าerror ครับ

Code: Select all

Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Calculation").Range("g46").Value, "ddmmyyyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
:D ช่วยอธิบายคำว่าไม่ได้เป็นวันที่ที่ตรงกัน แนบไฟล์ที่เป็นปัญหามาใหม่ ขอให้เคลียร์ไปทีละปัญหาก่อนที่จะถามต่อเนื่องไปครับ
นี้ครับตัวอย่างชื่อไฟล์แล้วพอจะทำงานต่อให้มันเคลียร์ข้อมูลเก่าก็ทำไม่ได้เพราะว่ามันไม่เจอไฟล์เก่าต้องทำอย่างไรครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#38

Post by snasui »

:D ไม่พบ Code ในไฟล์แนบครับ

ลักษณะการ Save ตาม Code ที่ผมตอบไปด้านบนเป็นการให้ชื่อไฟล์เป็น วัน เดือน ปี ช่วยอธิบายเรื่องการ Clear ข้อมูลเก่าว่าพิจาณาจากไฟล์เก่าอย่างไร ใช้ชื่อไฟล์มาช่วยในการพิจาณาหรือไม่ ข้อมูลเก่าที่กล่าวถึงคือข้อมูลที่ไหน อย่างไร ฯลฯ พร้อมแนบ Code สำหรับการทำงานนั้นมาด้วยจะได้เข้าถึงปัญหาโดยไวครับ
nisit2559
Member
Member
Posts: 42
Joined: Mon Sep 04, 2017 1:45 pm

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

#39

Post by nisit2559 »

นี้ครับตัวอย่างโค้ดคือว่าพอมัน save as ไปแล้วทำให้ชื่อไฟล์มันเปลี่ยนไปทำให้โค้ดไม่เจอกับชื่อไฟล์เก่าครับ

Code: Select all

Sub saveflie()
     Workbooks("boox1.xlsx").SaveAs Filename:="D:\MMCT\data\" & Application.Text(Worksheets("Calculation").Range("G46").Value, "ddmmyyyy") & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     Workbooks("boox1.xlsx").Worksheets("sheet1").Range("a2:ai1441").ClearContents
 End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30738
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#40

Post by snasui »

:D ไม่เข้าใจครับ ชื่อไฟล์เก่าคือไฟล์ใด ช่วยอธิบายลงรายละเอียดของปัญหามาด้วยจะได้เข้าถึงปัญหาโดยเร็วครับ
Post Reply