: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

copyมาวางไม่ได้ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

copyมาวางไม่ได้ครับ

#1

Post by yodpao.b »

copyมาวางไม่ได้ครับ
1.JPG
จากรูป คลิกปุ่ม
ปุ่มมีหน้าที่ insert และ คัดลอกข้อมุลมาวาง
ผลวางแล้วข้อมูลหาย
เนื่องจากมี code ที่สั่งให้ del ร่วมอยู่ด้วยครับแก้อย่างไรดีครับ
code ด้านล่างเป็นสาเหตุให้ไม่ได้ตามต้องการ
code ด้านล่างนี้มีหน้าที่เมื่อคลิกเชลที่รูปกากบาท จะ ลบทั้งแถวครับ

Code: Select all

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("B7:B2000")) Is Nothing Then
        If Cells(ActiveCell.Row, 4) <> 0 Then
            Selection.EntireRow.Delete
        End If
    End If
End Sub
ต้องแก้ไขอย่างไรดีครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: copyมาวางไม่ได้ครับ

#2

Post by snasui »

:D ช่วยอธิบายว่างานนี้ต้องการผลลัพธ์เป็นอย่างไรครับ

ต้องการคลิกเซลล์ที่มีตัว X ตั้งแต่บรรทัดที่ 7 เป็นต้นไปแล้วให้ลบรายการนั้นทิ้งแล้วนำบรรทัดที่ 2 มาวางแทนหรือว่าเป็นแบบไหน ช่วยอธิบายเพิ่มเติมมาอีกรอบครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: copyมาวางไม่ได้ครับ

#3

Post by yodpao.b »

ต้องการคัดลอกบรรทัดในวงกลม ให้ไปอยู่ในบรรทัดที่ 7 ครับ ดังรูป
ผล
1.JPG
code ที่ใช้

Code: Select all

    Rows("7:7").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    
    Range("B2:F2").Select
    Selection.Copy
    Range("B7").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: copyมาวางไม่ได้ครับ

#4

Post by snasui »

yodpao.b wrote: Mon Jul 27, 2020 6:02 pm ต้องการคัดลอกบรรทัดในวงกลม ให้ไปอยู่ในบรรทัดที่ 7 ครับ ดังรูป
:D ตัวอย่าง Code ครับ Range("b2:f2").Copy Range("b7")
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: copyมาวางไม่ได้ครับ

#5

Post by yodpao.b »

สมมุติมี 5 บรรทัด
เมื่อทำการเพิ่มแล้ว ช้อมูลต้องมี 6 บรรทัด ครับ
ผมจึงเพิ่ม code insent

ได้ตามต้องการครับบรรทัดไม่หาย

แต่แปลกใจที่เมื่อ เคอร์เซอร์ อยู่ในเซล H10
ข้อมุลในบรรทัด10 จะหายไป เหลือ 5 บรรทัด
สรุปว่า เมื่อ เคอร์เซอร์ อยู่ใน บรรทัดใดใดที่มีข้อมูล บรรทัดนั้นจะหายไป
ต้องแก้ไขอย่างไรดีครับ มันต้องมี 6 บรรทัด ครับ
จากรูปตำแหน่งที่ เคอร์เซอร์อยู่
3.JPG
จากรูปด้านล่างเมื่อ run แล้วหมายเลข 3 จะหายไป
2.JPG
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: copyมาวางไม่ได้ครับ

#6

Post by snasui »

yodpao.b wrote: Mon Jul 27, 2020 10:49 pm สมมุติมี 5 บรรทัด
เมื่อทำการเพิ่มแล้ว ช้อมูลต้องมี 6 บรรทัด ครับ
ผมจึงเพิ่ม code insent
:lol: ข้อความนี้ควรจะอธิบายมาด้วยไม่เช่นนั้นผมก็จะตอบตามที่ถาม ซึ่งผมได้ให้อธิบายสิ่งที่ต้องการมาแล้วในโพสต์ที่ #2 ควรจะอธิบายมาให้ครบถ้วนครับ

ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
    Range("b2:f2").Copy
    Range("b7:f7").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Application.CutCopyMode = False
'Other code
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: copyมาวางไม่ได้ครับ

#7

Post by yodpao.b »

' Rows("7:7").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
' Range("b2:f2").Copy Range("b7")
' Application.CutCopyMode = False

Range("b2:f2").Copy
Range("b7:f7").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Application.CutCopyMode = False
จาก code ด้านบน
ดูการทำงานก็เหมือนกันครับ

แต่ทำไหมใช้สูตร 3 บรรทัดบน ข้อมุลถึงหายไปครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: copyมาวางไม่ได้ครับ

#8

Post by snasui »

:D ลำดับ Code ที่ต่างกันย่อมให้ผลลัพธ์ที่ต่างกันได้ถือเป็นเรื่องปกติ

การเขียน Code ให้คำนึงถึงลำดับเสมอไปครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: copyมาวางไม่ได้ครับ

#9

Post by yodpao.b »

ขอบคุณครับ
Post Reply