: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

ย้าย ข้อมูล ไป sheet อืน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

ย้าย ข้อมูล ไป sheet อืน

#1

Post by zean »

ตาม file ที่แนบมา
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#2

Post by joo »

:D ช่วยอธิบายปัญหาและระบุเงื่อนไขพร้อมคำตอบที่ต้องการมาในกระทู้ด้วยครับตามกฎข้อ3
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#3

Post by zean »

sheet 1 เมื่อ พิมคำว่า ลาออก ใน คอลัม F แถวไหน ก็ตาม แถวนั้น จะหาย ไป แล้วจะถูกย้ายไปอยู่ ใน sheet 2
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#4

Post by joo »

:D การทำเช่นนั้นได้ต้องอาศัย VBA เข้ามาช่วยครับ ซึ่งจำเป็นต้องเขียนมาเองก่อนตามกฎข้อ5 ครับ
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#5

Post by zean »

Sub DelCell()
Dim icount As Integer
icount = Range("F65536").End(xlUp).Row
Do
If Cells(icount, "F") = "ลาออก" Then
Cells(icount, "F").EntireRow.Delete
End If
icount = icount - 1
Loop Until icount = 1
End Sub

ตอนนี้ ได้แค่ ลบออก จาก sheet1 ครับ อยากให้copy ไป sheet 2 ด้วยครับ

และ อยากให้ตารางใน sheet1 ไม่หายไปด้วย
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#6

Post by snasui »

:D ลองพยายามเขียนการ Copy ไปวางใน Sheet2 มาด้วย ติดตรงไหนค่อยมาถามกันต่อครับ
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#7

Post by zean »

Sub DelCell()
Dim icount As Integer
Dim ws As Worksheet
Dim r As Integer
Dim rn As Range

Set ws = ActiveSheet

icount = Range("F65536").End(xlUp).Row
Do
If Worksheets("1").Cells(icount, "F") = "ลาออก" Then
Worksheets("1").Cells(icount, "F").EntireRow.Copy _
Worksheets("2").Cells(icount, "A").EntireRow
Worksheets("1").Cells(icount, "F").EntireRow.Delete

End If

icount = icount - 1
Loop Until icount = 1
End Sub



ตอนนี้ copy ได้แล้ว แต่ใน sheet2 ไม่เรียง กันครับ และตารางใน sheet1 หายไป ลำดับไม่เรียงกันด้วย
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#8

Post by snasui »

:D การวาง Code VBA ให้แสดงเป็น Code ดูที่นี่ครับ viewtopic.php?f=2&t=1187

สำหรับที่ถามมาลองดูตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Sub DelCell()
    Dim icount As Integer
    Dim sh2Range As Range
    'Keep original format
    Worksheets("1").Range("A:E").Copy
    Worksheets("Sheet3").Range("A:E").PasteSpecial xlPasteFormats
    icount = Worksheets("1").Range("F65536").End(xlUp).Row
    Do
        If Worksheets("1").Cells(icount, "F") = "ลาออก" Then
            Worksheets("1").Cells(icount, "F").EntireRow.Copy
            Worksheets("2").Cells(65536, "A").End(xlUp) _
                .Offset(1, 0).PasteSpecial xlPasteValues
            Worksheets("1").Cells(icount, "F").EntireRow.Delete
        End If
        icount = icount - 1
    Loop Until icount = 1
    Worksheets("Sheet3").Range("A:E").Copy
    Worksheets("1").Range("A:E").PasteSpecial xlPasteFormats
   With Worksheets("2")
        Set sh2Range = .Range("A1", .Range("E" & Rows.Count).End(xlUp))
        sh2Range.Borders.LineStyle = xlContinuous
        sh2Range.Sort Key1:=.Range("A2"), Order1:=xlAscending, header:=xlGuess
    End With
End Sub
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#9

Post by zean »

ขอบคุณ ครับ... แล้วถ้าผมต้องการเปลียน จาก ลาออก คอลัม F มาเป็น คอลัม Q
และ copy , paste และ delete เปลียนมาเป็น B ถึง P ต้องแ่ก้ code ตรงไหนบ้าง ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#10

Post by snasui »

:D ควรปรับปรุง Code มาเองก่อนเสมอ ติดตรงไหนแล้วค่อยถามกันต่อครับ
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#11

Post by zean »

Code: Select all

Sub DelCell()
    Dim icount As Integer
    Dim sh2Range As Range
    'Keep original format
    Worksheets("1").Range("A:E").Copy
    Worksheets(3).Range("A:E").PasteSpecial xlPasteFormats
    icount = Worksheets("1").Range("F65536").End(xlUp).Row
    Do
        If Worksheets("1").Cells(icount, "F") = "OK" Then
            Worksheets("1").Cells(icount, "F").EntireRow.Copy
            Worksheets("2").Cells(65536, "A").End(xlUp) _
                .Offset(1, 0).PasteSpecial xlPasteValues
            Worksheets("1").Cells(icount, "F").EntireRow.Delete
        End If
        icount = icount - 1
    Loop Until icount = 1
    Worksheets(3).Range("A:E").Copy
    Worksheets("1").Range("A:E").PasteSpecial xlPasteFormats
   With Worksheets("2")
        Set sh2Range = .Range("A1", .Range("E" & Rows.Count).End(xlUp))
        sh2Range.Borders.LineStyle = xlContinuous
        sh2Range.Sort Key1:=.Range("A2"), Order1:=xlAscending, header:=xlGuess
    End With
End Sub

จากโค้ดอยากให้ sheet1 เมื่อ ลำดับที่ถูกลบลำดับต่อไปจะขึ้นมาแทน เช่น เมื่อลบลำดับ 5 ลำดับ6 จะขึ้นมาเป็น ลำดับ 5แทน

คื่ออยากให้มันเรียง 1234567 ไปเรื่อยๆ ไม่ใช้ 123467 ใน sheet2 ก็เหมือน กัน เมื่อcopy ไปแล้ว ให้เริ่มลำดับ 1 และเรียงไปเรื่อยๆ

1234567 ประมาณนี้ ครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#12

Post by snasui »

:D Code ด้านบนที่ยกมานั้นเป็นของเดิม ยังไม่ได้ปรับปรุงเพิ่มเติมเพื่อให้เป็นไปตามที่ถามมา ช่วยปรับปรุงมาก่อน และแจ้งด้วยว่าที่ปรับปรุงมาเองแล้วนั้นติดขัดที่บรรทัดใด
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#13

Post by zean »

ลองพยายาม แก้ ใน vba แล้วครับ ไม่ได้ สักที่ แล้วลอง ใช้สูตร เข้าช่วย

ตอนนี้ sheet1 เรียงกันแล้ว โดย ใส่สูตร ในลอลัม A =IF(B2<>"",COUNTA($B$2:B2),"")

แต่ใน sheet2 ยังไม่ได้ครับ ใส้แล้วไม่ได้ตามต้องการ ช่วยชี้แนะหน่อยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#14

Post by snasui »

:D ที่ชีท 2 ก็ใช้สูตรแบบเดียวกับที่เขียนมาได้ ไม่ทราบว่าที่ลองแล้วติดปัญหาอะไรครับ
zean
Member
Member
Posts: 14
Joined: Sun Jul 28, 2013 5:23 pm

Re: ย้าย ข้อมูล ไป sheet อืน

#15

Post by zean »

พอใส้ สูตร =IF(B2<>"",COUNTA($B$2:B2),"") ในคอลัม A sheet2 เมื่อทำการ run vba แล้ว

สูตร ในคอลัม A จะไม่มี เลย ไม่เรียง 123456 ตามไฟทีแนบมา

ช่วยชี้แนะ ด้วยครับ ถ้า ให้อยู่ในโค้ด vba เลยจะดีมาก :cp: :cp:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ย้าย ข้อมูล ไป sheet อืน

#16

Post by snasui »

:lol: ด้วย VBA แล้วสามารถทำได้ทั้งนั้นนั้นครับ เพียงแต่หากต้องการใข้ VBA แล้ว ต้องทำตามกฎข้อ 5 ด้านบนเท่านั้นครับ
Post Reply