: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

ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่างครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่างครับ

#1

Post by godman »

สวัสดีครับ
ผมติดปัญหาว่า พอดีว่า ผมอยากจะวางข้อมูลจากหน้าenter แต่ว่าข้อมูลมีการวางข้ามชี้ตมากกว่า 1 ชี้ต เช่นชี้ต SOP ชี้ต WI และชี้ตอื่นๆที่อาจจะมีเพ่ิม
ครานี้หน้าฟอร์มก็มีชนิดของข้อมูลหลายประเภทถ้าประเภทตรงกับชื่อชี้ตใหนก็จะถูกไปวางในชี้ตนั้น แต่โค้ดที่ผมมีรู้สึกว่ามันจะไป active ทุกชี้ตแล้วทำให้เซลล์กลายเป็นเข้าใจว่าไม่ว่าง พอจะสลับมาวางมันก็จะกระโดดข้ามแถวนั้นไปแถวอื่นเพราะเข้าใจว่าแถวไม่ว่างครับ ผมไม่แน่ใจว่าจะเกี่ยวกับเซลล์ที่มีสูตรหรือไม่
ไม่ทราบว่าผมต้องเปลี่ยนแปลงโค้ดที่จุดใหนครับ ผมแนบไฟล์มาให้ โดยที่sheet Enter ช่อง 14 จะเป็นตัวควบคุมว่าข้อมูลจะไปยัง sheet ใดเป็นของชี้ตใด

Code: Select all

Sub RecordNew()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Enter").Range("M8") _
    = Application.Max(Worksheets("Master1") _
        .Range("Ao:Ao")) + 1
With Worksheets("Template1")
    i = Worksheets("Enter").Range("m6").Value
    Set rs = .Range(.Range("A2"), .Range("AO" & i + 1))
    Set rs1 = .Range("A6:O" & 6 + .Range("A4") - 1)
    Set rs2 = .Range("A10:O" & 10 + .Range("A4") - 1)
    
    
End With
    Set rt = Worksheets("Master1") _
        .Range("A65536").End(xlUp).Offset(1, 0)
     
    Set rt1 = Worksheets("SOP") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    Set rt2 = Worksheets("WI") _
        .Range("A65536").End(xlUp).Offset(1, 0)
   
    rs.Copy
    rt.PasteSpecial xlPasteValues
    rs1.Copy
    rt1.PasteSpecial xlPasteValues
    rs2.Copy
    rt2.PasteSpecial xlPasteValues
   
    Application.CutCopyMode = False
MsgBox "Finish"
End Sub

You do not have the required permissions to view the files attached to this post.
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#2

Post by godman »

ผมลืมบอกไปว่า ผมตั้งคุณสมบัติเป็น table เพื่อต้องการให้สูตรมันขยับเอง เมื่อแถวเพิ่มมาใหม่ครับ
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#3

Post by tupthai »

เพิ่มการตรวจสอบว่าเราเลือกให้ไปเพิ่มข้อมูลชีทไหน

Code: Select all


 If [d14].Value = "SOP" Then
        rs1.Copy
        rt1.PasteSpecial xlPasteValues
    Else
        rs2.Copy
        rt2.PasteSpecial xlPasteValues
  End If

godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#4

Post by godman »

ผมนำไปวางแล้ว ยังไม่ได้ครับ ยังคงกระโดดอยู่ครับ แต่ก็ขอบคุณคุณ tubthai มากครับ
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: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#5

Post by joo »

:D ต้องตัดโค๊ดบรรทัดนี้ออกไปก่อนครับ
Other..
rs.Copy
rt.PasteSpecial xlPasteValues
rs1.Copy
rt1.PasteSpecial xlPasteValues
rs2.Copy
rt2.PasteSpecial xlPasteValues
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#6

Post by godman »

ใช้ได้ดีเลยครับ สุดยอดมากครับ ทั้งสองท่าน ขอบคุณมาก
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#7

Post by godman »

สวัสดีครับ
ต้องขอบอกว่าที่ท่านผู้รู้ได้ตอบผมไป ผมได้นำไปต่อยอดแล้ว แต่ว่ามีความต้องการเพิ่มว่า ถ้าข้อมูลจากเซลล์ D6 ที่เป็นชื่อประเภทถ้าเป็นประเภทเดียวกันซึ่งได้จากการดูในช่อง B:B ของแต่ละชี้ต
ก็ให้วางแทนที่ ทั้งแถว เสมือนหนึ่งการวางแบบแก้ไขข้อมูลที่มีลักษณะบางอย่างเป็นตัวตั้งในที่นี้ผมใช้รหัสเอกสารหรืก Document Number เป็นตัวหลักในการแก้ไขข้อมูลแล้วเขียนโค้ดว่าถ้าคอลัมพ์ b:b มีชื่อตรงกันก็ให้นำข้อมูลใน template ไปวางแทนทั้งแถวครับ
แต่ผมได้ลองปรับโค้ดแล้วแต่ยัง error อยู่ครับ การ error จะเกี่ยวกับ else if ที่ผมยังไม่คล่องเขียน VB หรือปล่าวครับ ผมได้ส่งไฟล์มาตอนที่เขียนว่ายัง error อยู่ อยู่ชี้ตหลักคือ ชี้ต enter

Code: Select all

Sub RecordNew()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Enter").Range("M8") _
    = Application.Max(Worksheets("Master1") _
        .Range("Ao:Ao")) + 1
With Worksheets("Template1")
    i = Worksheets("Enter").Range("m6").Value
    Set rs = .Range(.Range("A2"), .Range("AO" & i + 1))
    Set rs1 = .Range("A6:O" & 6 + .Range("A4") - 1)
    Set rs2 = .Range("A10:O" & 10 + .Range("A4") - 1)
    
    
End With
    Set rt = Worksheets("Master1") _
        .Range("A65536").End(xlUp).Offset(1, 0)
     
    Set rt1 = Worksheets("SOP") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    Set rt2 = Worksheets("WI") _
        .Range("A65536").End(xlUp).Offset(1, 0)
   
    
   
    Application.CutCopyMode = False
  
 If [d14].Value = "SOP" Then
        rs1.Copy
        rt1.PasteSpecial xlPasteValues
         Else
          Dim lng As Long
          lng = Application.Match(Sheets("BOM").Range("d6"), _
            Sheets("SOP").Range("b:b"), 0)
    Else
        rs2.Copy
        rt2.PasteSpecial xlPasteValues
        Else
          Dim lng As Long
          lng = Application.Match(Sheets("BOM").Range("d6"), _
            Sheets("WI").Range("b:b"), 0)
  End If

   
MsgBox "Finish"
End Sub
You do not have the required permissions to view the files attached to this post.
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#8

Post by godman »

โทษครับผมลืมแก้โค้ดชื่อชี้ต ตอนนี้แก้ไขแล้วครับ แต่ยัง error อยู่

Code: Select all

Sub RecordNew()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Enter").Range("M8") _
    = Application.Max(Worksheets("Master1") _
        .Range("Ao:Ao")) + 1
With Worksheets("Template1")
    i = Worksheets("Enter").Range("m6").Value
    Set rs = .Range(.Range("A2"), .Range("AO" & i + 1))
    Set rs1 = .Range("A6:O" & 6 + .Range("A4") - 1)
    Set rs2 = .Range("A10:O" & 10 + .Range("A4") - 1)
    
    
End With
    Set rt = Worksheets("Master1") _
        .Range("A65536").End(xlUp).Offset(1, 0)
     
    Set rt1 = Worksheets("SOP") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    Set rt2 = Worksheets("WI") _
        .Range("A65536").End(xlUp).Offset(1, 0)
   
    
   
    Application.CutCopyMode = False
  
 If [d14].Value = "SOP" Then
        rs1.Copy
        rt1.PasteSpecial xlPasteValues
         Else
          Dim lng As Long
          lng = Application.Match(Sheets("SOP").Range("d6"), _
            Sheets("SOP").Range("b:b"), 0)
    Else
        rs2.Copy
        rt2.PasteSpecial xlPasteValues
        Else
          Dim lng As Long
          lng = Application.Match(Sheets("WI").Range("d6"), _
            Sheets("WI").Range("b:b"), 0)
  End If

   
MsgBox "Finish"
End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#9

Post by tupthai »

ผิดหลักไวยากรณ์ การใช้ if else elseif
ดูตาม link นี้ครับ
http://www.techonthenet.com/excel/formulas/if_then.php
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#10

Post by godman »

ผมได้เข้าไปอ่านแล้วครับ และได้แก้ไขโค้ดแล้ว แต่ว่ามันยังไม่วางทับอันที่เลขที่เอกสารตรงกันครับ คือมันก็วางต่อท้ายกันไปใช่ แต่ว่าผมอยากให้มันวางทับแถวเพื่อเอาอันที่ก้ไขแล้วแทนที่
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#11

Post by godman »

ผมได้เข้าไปอ่านแล้วครับ และได้แก้ไขโค้ดแล้ว แต่ว่ามันยังไม่วางทับอันที่เลขที่เอกสารตรงกันครับ คือมันก็วางต่อท้ายกันไปใช่ แต่ว่าผมอยากให้มันวางทับแถวเพื่อเอาอันที่ก้ไขแล้วแทนที่
User avatar
tupthai
Bronze
Bronze
Posts: 302
Joined: Sat Feb 04, 2012 2:49 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#12

Post by tupthai »

ลองดูครับว่าใช้ได้หรือเปล่า :D

Code: Select all

Sub RecordNew()
Dim rs As Range, rt As Range
Dim rs1 As Range, rt1 As Range
Dim i As Integer
Worksheets("Enter").Range("M8") _
    = Application.Max(Worksheets("Master1") _
        .Range("Ao:Ao")) + 1
With Worksheets("Template1")
    i = Worksheets("Enter").Range("m6").Value
    Set rs = .Range(.Range("A2"), .Range("AO" & i + 1))
    Set rs1 = .Range("A6:O" & 6 + .Range("A4") - 1)
    Set rs2 = .Range("A10:O" & 10 + .Range("A4") - 1)
    
    
End With
    Set rt = Worksheets("Master1") _
        .Range("A65536").End(xlUp).Offset(1, 0)
     
    Set rt1 = Worksheets("SOP") _
        .Range("A65536").End(xlUp).Offset(1, 0)
    Set rt2 = Worksheets("WI") _
        .Range("A65536").End(xlUp).Offset(1, 0)
   
 If [d14].Value = "SOP" Then
     Set rt1 = Sheets("SOP").Cells(Application.Match(Sheets("SOP").Range("d6"), Sheets("SOP").Range("b:b"), 0), 1)
        rs1.Copy
        rt1.PasteSpecial xlPasteValues
    Else
       Set rt2 = Sheets("WI").Cells(Application.Match(Sheets("SOP").Range("d6"), Sheets("SOP").Range("b:b"), 0), 1)
        rs2.Copy
        rt2.PasteSpecial xlPasteValues
  End If
  Application.CutCopyMode = False
MsgBox "Finish"
End Sub
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ติดปัญหาการ paste data แล้วข้อมูลไม่วางต่อกันจากบนลงล่าง

#13

Post by godman »

ขอบคุณมากครับ ใช้งานได้ดีเลยแหละ สุดยอดมาก
Post Reply