Page 1 of 1
vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 2:46 pm
by wisitb
คือว่าผมทำ vba copy ข้อมูลได้แล้วครับ แต่ผมอยากให้ copy ข้อมูลโดยมีเงืนอไข เงือนไขผมจะcopy ข้อมูลตามวันที่ครับ
เช่น วันที่ 1/11/2013 มีข้อมูล 3 ก็ copy ข้อมูลไป sheet3 ตามวันที่คือ 1/11/2013
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 2:50 pm
by snasui
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:04 pm
by wisitb
ดึงข้อมูลได้แล้วครับ แต่ติดปัญหาใหม่ครับ ตามที่ได้แจ้งข้างบน
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:09 pm
by snasui
ควรแจ้งผลด้วยเสมอตามกฎการใช้บอร์ดข้อ 6 ด้านบนครับ
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:11 pm
by wisitb
ครับ พอดีช่วงนี้งานเข้าเยอะ แถมพอว่างดันลืมครับ ขอบคุณครับที่แจ้งเตือน
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:12 pm
by snasui
wisitb wrote:คือว่าผมทำ vba copy ข้อมูลได้แล้วครับ แต่ผมอยากให้ copy ข้อมูลโดยมีเงืนอไข เงือนไขผมจะcopy ข้อมูลตามวันที่ครับ
เช่น วันที่ 1/11/2013 มีข้อมูล 3 ก็ copy ข้อมูลไป sheet3 ตามวันที่คือ 1/11/2013
ไม่ทราบว่าวันที่ที่ต้องการจะดึงนั้นอยู่ที่เซลล์ใด หรือทราบได้อย่างไรว่าต้องดึงวันใด Code ที่เขียนมาแล้วชื่อว่าอะไร ติดบรรทัดใดครับ
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:25 pm
by wisitb
คือ จริงๆ แล้วผมยังเขียนเงื่อนไขการคัดลอก ไม่่เป็นเลยครับ เป็นแต่คัดลอกข้อมูลซึ่งเป็นการคัดลองแบบ fix cell ด้วย แต่ผมต้องการคัดลอกตามวันที่คัรบ
เช่น คัดลอกข้อมูลใน วันที่ 1/11/2013 มาไว้อีกชีท โดยใส่ไว้ในวันที่ 1/11/2013
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:48 pm
by snasui
หากเป็นเช่นนั้นให้ใช้สูตรดึงข้อมูลที่ต้องการมาก่อนแล้วค่อยนำข้อมูลนั้นไปวางปลายทางด้วย VBA ครับ
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:50 pm
by wisitb
ยังไงหรือครับ สูตรคัดลอกข้อมูลคือ
Dim rs As Range, rt As Range
Set rs = Worksheets("Sheet2").Range("A1:A6") _
Set rt = Worksheets("Sheet").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:56 pm
by snasui
ที่โพสต์มาไม่ใช่สูตร แต่เป็น Code สูตรคือการใช้ฟังก์ชั่นใน Excel ดึงข้อมูลมาเฉพาะที่ต้องการ ทำเท่านี้ให้ได้ก่อนครับ
สำหรับการโพสต์ Code ให้แสดงเป็น Code ดูตัวอย่างที่นี่
http://www.snasui.com/viewtopic.php?f=2&t=1187
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 3:59 pm
by wisitb
Code: Select all
Dim rs As Range, rt As Range
Set rs = Worksheets("Sheet2").Range("A1:A6") _
Set rt = Worksheets("Sheet2").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 4:07 pm
by snasui
ให้แนบตัวอย่างผลลัพธ์ที่ต้องการมาด้วยว่าต้องการวางผลลัพธ์ที่เซลล์ใด ด้วยเงื่อนไขใด
สำหรับ Code หากยังเขียนให้ Loop ไม่เป็นยังไม่ควรใช้ ใช้สูตรเข้ามาช่วยในการหาข้อมูลตามเงื่อนไขก่อน แล้วค่อยนำ Code มาช่วยครับ
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 4:24 pm
by snasui
ตัวอย่างการใช้สูตรมาแสดงตามเงื่อนไข
http://www.snasui.com/viewtopic.php?f=3&t=466 เพื่อเป็นแนวทางครับ
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 4:35 pm
by wisitb
sheet1 จะเป็นข้อมูลต้นทางครับ ซึ่งจะประกอบด้วยวันที่ และ ของเข้า ซึ่งจะคัดลอกข้อมูลของเข้าไปไว้ที่ Sheet2 ตามวันที่ครับ ซึ่งจะคัดลอกข้อมูลตั้งแต่วันที่ยังไม่มีข้อมูลของเขาถึงวันปัจจุบัน
จากตัวอย่าง จะทำการคัดลอก ข้อมูลของเข้าของวันที่ 3/11/2013 กับ 4/11/2013
ด้านล่างนี้เป็น code คัดลอกข้อมูลแต่ยังไม่มีเงือนไข
Code: Select all
Dim rs As Range, rt As Range
Set rs = Worksheets("Sheet2").Range("A1:A6") _
Set rt = Worksheets("Sheet2").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0)
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 4:58 pm
by snasui
wisitb wrote:ซึ่งจะคัดลอกข้อมูลตั้งแต่วันที่ยังไม่มีข้อมูลของเขาถึงวันปัจจุบัน
จากตัวอย่าง จะทำการคัดลอก ข้อมูลของเข้าของวันที่ 3/11/2013 กับ 4/11/2013
จากคำอธิบายและตัวอย่างที่แนบมา
ที่ Sheet2 เซลล์ D3 คี่ย์สูตร
=IF(B3>TODAY(),"",SUMIF(Sheet1!$B$3:$B$13,B3,Sheet1!$D$3:$D$13))
Enter > Copy ลงด้านล่าง
การจะใช้ VBA ควรปรับ VBA เป็นบ้าง หากปรับไม่ได้เลยยังไม่ควรใช้ VBA ให้ศึกษามาตามลำดับก่อนครับ
สำหรับผู้เริ่มต้นควรใช้สูตรสำหรับดึงข้อมูลออกมาก่อนแล้วค่อยใช้ VBA เข้ามาช่วย
สามารถบันทึก Macro เพื่อสร้างสูตรแล้วปรับ Code ที่ได้มาใช้งาน
Re: vba copy ข้อมูลภายใต้เงือนไข
Posted: Mon Nov 04, 2013 5:03 pm
by wisitb
ขอบคุณครับ เดี๋ยวผมจะลองทำดูนะครับ พอดีผมเลี่ยง vba มานานมากแล้ว ใช้แต่สูตร excel ธรรมดา แต่เห็นความจำเป็นของ vba เลยมาหัดเขียน