Page 1 of 2

Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วมันมา

Posted: Tue May 11, 2010 4:22 pm
by torofish
สวัสดีครับ
คือ มีข้อมูลตามรูปนะครับ ซึ่งของจริงจะเยอะกว่านี้มาก ๆ ๆ
แต่มีสิ่งที่เหมือนกันคือ มันจะเป็นรูโหว่ ๆ แบบนั้น มีชื่อบ้าง โหว่บ้าง

คือทีนี้อยากจะ Copy ไปอีกหน้าหนึ่งแต่อยากให้ชื่อมันมาติดกันเอง ตามตัวอย่าง
พอจะมีวิธีมั้ยครับ

ผมตอนนี้คิดได้แค่ copy and paste :( ตายแน่ ๆ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Tue May 11, 2010 7:16 pm
by snasui
:D กรณีข้อมูลเป็นระเบียบเพียงแต่มีการเว้นบรรทัด สามารถ copy เฉพาะเซลล์ที่มีข้อมูลได้ ลองทำตามภาพด้านล่างครับ :mrgreen:

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Wed May 12, 2010 11:16 am
by torofish
ขอบคุณครับ :D
ขอถามเพิ่มนะครับ คือถ้าเราอยากให้มันทำอัติโนมัติ โดยใช้ Macro พอจะเป็นไปได้มั้ยครับ

ตะกี๊ผมลองใช้ Record Macro
ปรากฎว่าขั้นตอนแรก ๆ ที่ Ctrl+F --> + C ไม่มีเลย
เหมือนจะมีติดมาก็แค่ตอน Paste แค่นั้น :flw:

คือ อันนี้ผมทำให้คนอื่นน่ะครับ ผมไม่ได้ทำเอง
กลัวเขาจะงง เพราะขั้นตอนจะเยอะนิด เลยอยากให้ทำ Macro + Shortcut ปุ่มเดียวเสร็จ
แต่ดันไม่มี function find ซะงั้น :?

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Wed May 12, 2010 1:20 pm
by snasui
:D ลองบันทึก Macro ตามตัวอย่างด้านล่างครับ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Wed May 12, 2010 2:33 pm
by torofish
ขอบคุณมากครับ :D
ขอถามเพิ่มอีกนิดครับ
คือข้อมูลจริง ๆ มันจะตามรูปครับ ผมเองตอนนั้นก็ลืมไปว่ามันจะมีอีกช่องนึง คือช่องเงินเดือน :oops:
ซึ่งไอที่ขีด ๆ นั้นมาจากสูตร sum

ตามวิธีที่คุณ snasui แนะนำมา ผมได้ลองทำ
แต่เปลี่ยนตอน delete จาก
Shift Cells Up ---> Entire Row

ก็ใช้งานได้เลยครับ

แต่จะมีปัญหาตรง macro

1.) ผม copy 2 ชุดข้อมูลไว้คนละ Sheet กัน เหมือนกันเป๊ะ ๆ
2.) ผมทำตามเป๊ะ ๆ ยกเว้น ตรง Entire Row นะครับ
3.) ที่ Sheet 1 ออกมาสวยงามไม่มีปัญหา
4.) ผมไปหน้า Sheet2 เพื่อทดสอบ Code
5.) มี Error Code 1104 ตามภาพเลยครับ

งงจริง ๆ ครับ
ข้อมูลอันเดียวกัน
อันนึงใช้มือทำ ทำได้ไม่มีปัญหา
อีกอันใช้แมคโคร ทำไม่ได้

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Wed May 12, 2010 4:53 pm
by snasui
:D ลองส่งไฟล์ที่บันทึกมาโครแล้วมาให้ดูหน่อยครับ ถ้าข้อมูลเป็นความลับก็ให้ใช้ตัวอย่างมาแทนครับ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Mon May 17, 2010 3:12 pm
by torofish
มาแล้วครับ
ตอนที่ record macro ทำได้ไม่มีปัญหา
ผมกด Ctrl+Z
แล้วก็กด run macro ก็ขึ้นอย่างที่ว่าน่ะครับ

่ช่วยดูด้วยนะครับ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Mon May 17, 2010 7:39 pm
by snasui
:D ลองแทรก If เพื่อเป็นเงื่อนไขว่ามีการเลือกข้อมูลไว้ทั้งคอลัมน์ก่อนที่จะทำการ Run Code ตามด้านล่างครับ

Code: Select all

Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+A
'
    If Selection.Rows.Count <> 65536 Then
        MsgBox "กรุณาเลือกข้อมูลทั้งคอลัมน์"
        Exit Sub
    End If
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.EntireRow.Delete
    Range("A1").Select
End Sub

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Tue May 18, 2010 10:38 am
by torofish
ใช้ได้แล้วครับ
พอจะทราบมั้ยครับว่าทำไมพอทำใน macro แล้วมันไม่ได้ซะงั้น
และการเลือกทั้ง column นี่ช่วยได้ยังไงครับ

ปล ผมนั่งคิดอีกวิธีนึงได้คือ ใช้ filter
แล้วก็เอา blank ออก แล้วก็ก๊อปไปแปะอีกหน้านึง
แบ่งปันวิธีกันครับ :-D

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Tue May 18, 2010 1:39 pm
by snasui
:D ที่ไม่ได้เพราะว่าตอนเขียน Macro เราเลือกทั้งคอลัมน์ไว้ก่อนแล้วค่อยเขียน Macro แต่ตอนใช้งาน Macro เราอาจจะคลิกแค่เซลล์ใดเซลล์หนึ่ง ซึ่งทำให้ Macro ไม่สามารถใช้งานได้ เพราะการเลือกเซลล์เดียวไม่สามารถที่จะหาเซลล์ว่างในช่วงข้อมูลได้ ผมก็เลยเขียน Code เพื่อให้ตรวจสอบว่า เรามีการเลือกช่วงข้อมูลไว้ทั้งคอลัมน์แล้วหรือไม่ หากไม่ใช่ก็ให้แสดงข้อความเตือน

ขอบคุณสำหรับการแบ่งปันความรู้ครับ สำหรับวิธีการที่จะให้ได้ข้อมูลแบบเว้นช่วงข้อมูลแล้วต้องการให้ข้อมูลมาติดกันนั้นทำได้หลายวิธีครับ เช่น

1. Sort เนื่องจากโดยปกติแล้วการ Sort จะเรียงค่าว่างไปด้านล่างเสมอ
2. ใช้สูตรในการเรียงข้อมูลใหม่
3. ใช้การลบบรรทัดว่างด้วย Edit > Special > Blanks (กระทู้นี้ใช้วิธีนี้เพื่อเขียน Macro)
4. เขียนคำสั่ง VBA ในการลบบรรทัดว่างตรง ๆ โดยไม่ต้องผ่านการบันทึก Macro

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 10:57 pm
by rune22
มีปัญหาเหมือนกันเลยค่ะ อยากติดต่อผู้ดูแลระบบโดยตรงอ่ะ จะติดต่อยังไง ขอ msn หน่อยซิค่ะ

Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วมันมา

Posted: Sat May 29, 2010 11:04 pm
by rune22
มีปัญหาเหมือนกันเลย อยากติดต่อ admin อ่ะ จะติดต่อยังไง ไม่ค่อยเข้าใจเลย

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 11:14 pm
by snasui
rune22 wrote:มีปัญหาเหมือนกันเลย อยากติดต่อ admin อ่ะ จะติดต่อยังไง ไม่ค่อยเข้าใจเลย
:D ไม่เข้าใจตรงไหนถามได้เลยครับ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 11:26 pm
by rune22
มีข้อสงสัยเหมือนกระทู้นี้ค่ะ เดี๋ยวสงไฟล์ให้ดูน่ะค่

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 11:26 pm
by rune22
แล้วจะส่งไฟล์ยังไงเนี่ย

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 11:29 pm
by snasui
:D ดูที่นี่ครับ กระทู้แรกเลยครับ http://www.snasui.com/viewforum.php?f=3 **จะกลับมาดูให้พรุ่งนี้นะครับ ตอนนี้ขอตัวไปพักผ่อนก่อนครับ**

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sat May 29, 2010 11:30 pm
by rune22
ต้องการเอาข้อมูลธนาคารต่างใน sheet สมุดรับจ่ายประจำวัน ไปไว้ใน sheet ข้อมูลธนาคาร โดยเอาช่องว่างออก โดยอัตโนมัติ ถ้าข้อมูลใน Sheet สมุดรับจ่ายประจำวันเปลี่ยนไป ก็ให้เรียงข้อมูลใน Sheet ข้อมูลธนาคารโดยอัตโนมัติ ได้มั้ยค่ะ

rune_2@hotmail.com

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sun May 30, 2010 7:49 am
by snasui
:D ลองดูตัวอย่างตามไฟล์แนบครับ

ที่ Sheet ข้อมูลธนาคารเซลล์ B6 คีย์

=IF(ROWS($B$6:B6)>สมุดรับจ่ายประจำวัน!$F$53,"",INDEX(สมุดรับจ่ายประจำวัน!$F$4:$F$51,SMALL(IF(สมุดรับจ่ายประจำวัน!$F$4:$F$51<>"",ROW(สมุดรับจ่ายประจำวัน!$F$4:$F$51)-ROW(สมุดรับจ่ายประจำวัน!$F$4)+1),ROWS($B$6:B6))))

การกดแป้นให้รับสูตรต้องกด 3 แป้นคือ Ctrl+Shift+Enter เนื่องจากเป็นสูตรแบบ Array กดเพียง Enter อย่า่งเีดียวไม่ได้ครับ ถ้ากดแป้นถูกต้อง จะเห็นเครื่องหมายปีกกาคร่อมสูตร

Note: อย่าเผลอส่งข้อความแชทในกระทู้นะครับ ยกตัวอย่างเช่น คำว่า "กำ" มาโดด ๆ เป็น 1 ความเห็น อย่างนี้เป็นต้น ผมลบออกให้แล้ว สำหรับความเห็นไหนที่โพสต์ซ้ำ ๆ ผู้โพสต์สามารถลบออกเองได้ครับ ถ้าจะ Chat สามารถ Add email ผม s_nasui@hotmail.com ได้ครับ :twisted:

กรณีต้องการทดสอบการโพสต์สามารถทดสอบได้ที่นี่ครับ http://www.snasui.com/viewforum.php?f=2

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sun May 30, 2010 10:34 am
by rune22
ขอบคุณ เป็นอย่างสูงค่ะ ได้ประโยชน์มากเลยค่ะ

Re: Copy ข้อมูลที่หลายเซลล์ที่มีช่องว่าง อยากให้ paste แล้วม

Posted: Sun May 30, 2010 10:44 am
by rune22
ถามอีกหน่อยค่ะ $B$6:B6 !$F$53 พวกนี้มันหมายความว่ายังไงค่ะ จะได้เอาไปประยุกค์ใช้ได้อ่ะค่ะ