Page 1 of 1

เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Wed Mar 22, 2017 7:52 pm
by araya2016
เรียนสอบถามเกี่ยวกับ Maro ค่ะ
วันนี้พึ่งลองใช้ Macro เป็นครั้งแรก
คือ ต้องทำรายงานยอดขาย เป็นรายสัปดาห์ค่ะ เข้าบริษัท
ซึ่งร้านที่ดูแล มี 24 ร้านค่ะ
ดังนั้น ต้องรวบรวมยออดขาย ตั้งแต่ร้านที่ 1-24 ร้าน
ให้อยู่ในหน้าเดียวกัน
แล้วส่งเมลเข้าบริษัท

ทีนี้เลยลองทำ Macro
สั่งให้ Copy ข้อมูลจากร้านค้าที่ 1-24
มาวางไว้ที่ไฟล์รวบรวมยอดขายร้านค้า

ลองทำmarcoแล้วพอเข้าใจบ้าง
แต่ตอนนี้ อยากให้ run macro โดยที่เปิดไฟล์ ชื่อ รวบรวมยอดขายร้านค้า ไว้เพียงไฟล์เดียว
แล้ว รัน macro ให้ Copy และ paste ข้อมูล โดยที่ไม่ต้องเปิดไฟล์ร้านค้า ที่1-24 (เก็บไฟล์ทั้งหมดไว้ในโฟเดอร์เดียวกัน)
ไม่ทราบว่าจะทำได้ หรือไม่คะ

รบกวนช่วยเขียนสูตรใน macro ให้หน่อยได้ไหมคะ

ในไฟล์แนบจะมี
รวมยอดขายร้านค้า
ร้านค้า1
ร้านค้า2
มาให้ดูเป็นตัวอย่างค่ะ
จริงๆแล้วต้องมี 24ร้าน

เอามาให้ดูเป็นแนวทางค่ะ
Sub test()
'
' test แมโคร
'

'
Windows("1.xlsx").Activate
Sheets("template").Select
Range("B2").Select
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("1.xlsx").Activate
Sheets("template").Select
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("1.xlsx").Activate
Sheets("template").Select
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("B2").Select
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("รวมยอดขายร้านค้า.xlsm").Activate
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
อันนี้ที่ลองทำเอง
แต่มันต้องเปิดไฟล์ร้านค้าที่ 1 และ2 ไว้ด้วย
ไม่งั้นรัน Macroแล้วขึ้น Error

ปล.ไม่มีความรู้เรื่อง Excel นะคะ
ไม่เคยเรียน

อาศัยอ่านจากในเวป

แต่ลองหาคำถามแบบที่ตัวเองต้องการแล้วไม่มี
เลยต้องมาตั้งคำถามใหม่ค่ะ


ขอบคุณมากๆค่ะ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Wed Mar 22, 2017 9:00 pm
by puriwutpokin
ลองทดสอบจากไฟล์ตัวอย่างที่แนบมาดูครับ ติดขัดอย่างไรตรงโค้ดไหน ค่อยถามมาอีกทีครับ หมายเหตุ โค้ดดังกล่าวได้มาจากเว็บนี้ครับ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Wed Mar 22, 2017 11:50 pm
by snasui
araya2016 wrote:เรียนสอบถามเกี่ยวกับ Maro ค่ะ
วันนี้พึ่งลองใช้ Macro เป็นครั้งแรก
คือ ต้องทำรายงานยอดขาย เป็นรายสัปดาห์ค่ะ เข้าบริษัท...
:D การโพสต์ Code ในฟอรัมอ่านคลิกดูตัวอย่างในกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: จะได้สะดวกในการอ่านครับ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 8:24 am
by araya2016
ขอบคุณทุกท่านมากๆค่ะ ^^

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 8:38 am
by araya2016
ลองดาวโหลดไฟล์ไปทำแล้วขึ้นว่า Patch is incorrect ค่ะ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 9:29 am
by araya2016
เรียนคุณ puriwutpokin
ตอนนี้เข้าใจบ้างแล้วค่ะ
ต้องไปแก้ code patch

ขอบคุณนะคะ
ตื่นเต้น กับ Excelมากๆค่ะ
เคยใช้แต่ บวก ลบ คูณหาร

ความจริงecxelความสามารถเยอะมากๆค่ะ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 9:46 am
by araya2016
Windows("1.xlsx").Activate
Sheets("template").Select
Range("B2").Select
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("1.xlsx").Activate
Sheets("template").Select
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("1.xlsx").Activate
Sheets("template").Select
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("B2").Select
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2.xlsx").Activate
Sheets("template").Select
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("ÃÇÁÂÍ´¢ÒÂÃéÒ¹¤éÒ.xlsm").Activate
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 9:56 am
by araya2016
อยากจะสอบถามเพิ่มเติมจาก Loopfile ที่ให้มาค่ะ
อยากเอาสูตร ข้างบนเข้าไปรวมค่ะ

คือความจริง Loopfile นั้นก็สามารถทำได้ค่ะ
แต่ความจริงแล้ว ร้านทั้ง 24 ร้าน
ไม่ได้เรียงจาก น้อยไปมากแบบนี้ค่ะ
1
2
3
4
ลำดับจะล็อคตามบริษัทเช่น
24
3
2
1
5
แบบนี้ค่ะ
ดังนั้นเลยต้องเขียน สูตร Copy และ Paste ขึ้นมา
ให้มันวาง ตามตำแหน่ง Cell ที่เราต้องการค่ะ

ตามสูตร Loopfile จะวางจาก
น้อยไปมากคือ 1ถึง 24 ค่ะ

เลยอยากสอบถามว่า
จะเอาสูตร Loopfile ที่มีประโยชน์คือ
1.ไม่ต้องเปิด Excel file ก็ดึงข้อมูลมาได้
รวมกับสูตรที่ เขียนไว้ ตามที่วางให้ดูค่ะ

ก่อนอื่น
ขอโทษอีกครั้งนะคะ
ลอง โพสต์แบบ วางCode แล้วก็ยังไม่ได้ค่ะ
มันขึ้นเป็น Post ธรรมดา

ไม่รู้ว่าจะเอา Loopfile มารวมกับ code ของตัวเองยังไงค่ะ
ในcode ที่ถาม จะมีแค่ ร้านที่ 1 กับ 2 ค่ะ

แต่ถ้า สามารถรวมสูตร Loopfile กับร้านที่ 1 กับ2 ได้
เดี๋ยวจะได้ไปเขียน ร้านที่ 3-24 เพิ่มค่ะ

ให้วางตาม ตำแหน่งเซลล์ที่เราต้องการค่ะ

ขอบคุณมากๆค่ะ

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Mar 23, 2017 10:08 am
by puriwutpokin
ดูวิธีวางโค้ด ใหม่นะครับ ว่างแบบนี้ไม่เป็นภาษาต่างด้าวด้วยครับ
http://www.snasui.com/viewtopic.php?f=6&t=1354
และลูปไม่ได้เป็นตัวที่คัดลอกข้อมูลมาจากไฟล์ที่ปิดนะครับ เป็นเพียงวนทำงานตามคำสั่ง
ส่วนโค้ดที่จะให้ใส่ไปในลูป ตามที่แจ้งมา คงทำจากไฟล์ที่ปิดอยู่ไม่ได้ ต้องปรับโค้ดอีกมากมายครับ
จริงๆแล้วเราสามารถ ทำตามโค้ดที่ให้ไป แล้ว นำมาเรียงตามข้อมูลของลำดับสาขาได้ครับ หลังจากดึง
ข้อมูล

Re: เรียนสอบถามเกี่ยวกับ Maro ค่ะ

Posted: Thu Jun 29, 2017 10:33 pm
by araya2016
ขอบคุณมากๆค่ะ ^^