snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
prawitj
Member
Posts: 89 Joined: Wed Aug 31, 2011 11:35 am
#1
Post
by prawitj » Fri Jun 08, 2012 9:05 am
ผมได้รับมอบหมายให้ดูดข้อความจาก Workbbook นึงไปยังอีก Workbook นึงโดยผมได้สร้างปุ่ม ดูดข้อมูลมาแล้ว และผมมี Code ในการดูดข้อมูล แต่ที่เคยทำเป็นการดูดข้าม Sheet ไม่เคยดูดข้าม Workbook อยากจะสอบถามอาจารย์ว่าถ้าจะดูดข้าม Workbook จะทำอย่างไรครับ โดยผมมี path ของ Workbook อยู่แล้วคือ
\\10.10.1.211\F&I-Tchab F&I\F&I-Tchab-F&I PO\F and I PO.xls
รบกวนอาจารย์ด้วยครับ
ปล1.ผมเคยดูดโดยใช้ pivot แต่เนื่องจากข้อจำกัดของมันคือ 250 ตัวอักษร แต่การเขียนมันยาวกว่านั้นครับ ทำให้อีกฝ่ายที่ดูข้อมูลได้ข้อมูลไม่ครบ
ปล.2 เป็นการดูดข้อมูลใน network ครับ
prawitj
Member
Posts: 89 Joined: Wed Aug 31, 2011 11:35 am
#2
Post
by prawitj » Fri Jun 08, 2012 9:13 am
ลืมบอกอาจารยืว่า ผมไม่ใช้ vlookup หรือ index เพราะ มันทำให้ File ทำงานข้าครับ เนื่องจากข้อมูลมหาศาลมากผมเลยตัดสินใจใช้ vba มาดูดข้อมูลเป็น Batch file ในแต่ละช่วง ถ้าเสียเวลาก็เสียแค่ครั้งเดียวครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#3
Post
by bank9597 » Fri Jun 08, 2012 9:26 am
หากใช้ VBA ต้องลองเขียนมาเองก่อนครับ ติดส่วนไหนค่อยถามกันไปเรื่อยๆครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
prawitj
Member
Posts: 89 Joined: Wed Aug 31, 2011 11:35 am
#4
Post
by prawitj » Fri Jun 08, 2012 10:05 am
Private Sub btnRefresh_Click()
On Error Resume Next
Dim wb As Workbook 'F&I PO Workbook
Dim rfAll As Range 'All Rang in F&I Workbook
Dim rf As Range 'Each range in f&i
Dim rsAll As Range 'All Range in sales po
Dim rs As Range 'Each Range in sales po
Dim rst As Range 'last range in sales po
Dim sh As Worksheet 'worksheet in workbook
wb = "\\10.10.1.211\F&I-Tchab F&I\F&I-Tchab-F&I PO\F and I PO.xls"
For Each sh In wb.Worksheets
If sh.Name = "PO" Then
Set rfAll = sh.Range("A4", sh.Range("A" & Rows.Count).End(xlUp))
With Sheets("Movement")
Set rsAll = .Range("A6", "AM20000")
Set rs = .Range("A6:AM6")
rsAll.Borders.LineStyle = xlNone
rsAll.Clear
rfAll.Resize(1, 39).Copy
rs.PasteSpecial xlPasteValues
' Set rs = .Range("A6", sh.Range("AM" & Rows.Count).End(xlUp))
' rs.Borders.LineStyle = xlContinuous
End With
End If
Next sh
End Sub
ผมลองเขียนมาแล้วครับ แต่ไม่สามารถดูดข้อมูลได้
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#5
Post
by bank9597 » Fri Jun 08, 2012 10:19 am
การที่ต้องใช้ VBA จำเป็นต้องแนบไฟล์มาด้วยเสมอครับ (ขออภัยที่แจ้งไปไม่ครบ) เพราะจะได้สามารถทดสอบได้ว่ามันติดปัญหาตรงส่วนไหนครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
prawitj
Member
Posts: 89 Joined: Wed Aug 31, 2011 11:35 am
#6
Post
by prawitj » Fri Jun 08, 2012 10:44 am
ผมจะดูดข้อมูลจาก F&I PO.xls sheet PO ตั้งแต่คอลัมภน์ A-AM ทั้งหมดทุกแถวที่มีข้อมูลอยู่ มาที่ PO GM.xls ที่ sheet movement ครับ ที่ไม่่ใช้ pivot เนื่องจากช่อง AM มัน แสดงได้แค่ 250 character ทำให้ Sales ไม่ทราบความเคลื่อนไหวของ F&I (การเงิน)
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#7
Post
by snasui » Fri Jun 08, 2012 2:18 pm
เขียน Code ให้เปิดไฟล์ F and I PO.xls ขึ้นมาก่อนที่จะดึงข้อมูล เมื่อดึงเสร็จแล้วคิดปิดครับ
prawitj
Member
Posts: 89 Joined: Wed Aug 31, 2011 11:35 am
#8
Post
by prawitj » Tue Jun 12, 2012 8:30 am
ขอบคุณครับ