: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#1

Post by ekkaluk_suk »

ถ้าต้องการ นำข้อมูลที่มีอยู่จาก sheet 1 ไปแสดงที่ sheet ที่ 2 จะสามารถทำอย่างไร
ได้บ้างครับ โดยต้องการให้แสดงเฉพาะที่เราต้องการ ตามที่ไฮไลท์ สีเหลืองไว้ ใช้เป็นสูตร
ให้ให้ Run macro ก็ได้ครับ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#2

Post by snasui »

:D เอาไปวางด้วยเงื่อนไขใดครับ ถ้าไม่มีเงื่อนไขก็แค่ Link ไปเฉย ๆ คือ คลุมข้อมูลที่ต้องการ > Copy > คลิกขวาบนเซลล์เป้าหมาย > Paste Special > Paste Link ไม่ต้องเขียนสูตรอื่นใดครับ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#3

Post by ekkaluk_suk »

snasui wrote::D เอาไปวางด้วยเงื่อนไขใดครับ ถ้าไม่มีเงื่อนไขก็แค่ Link ไปเฉย ๆ คือ คลุมข้อมูลที่ต้องการ > Copy > คลิกขวาบนเซลล์เป้าหมาย > Paste Special > Paste Link ไม่ต้องเขียนสูตรอื่นใดครับ
เงื่อนไข คือให้กรองเฉพาะข้อมูล ตาม column ที่เราต้องการเท่านั้นมาแสดงครับ คือ 4 column และให้ข้อมูล
เรียงต่อไปเรื่อย ๆ ลงด้านล่าง เป็นการจัดเรียงข้อมูลใหม่ เฉพาะ 4 column ที่เราต้องการเท่านั้น
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#4

Post by snasui »

:D คำตอบเดิมครับ เมื่อต้องการเฉพาะคอลัมน์ก็ Copy ไปวางแบบ Link เฉพาะคอลัมน์ ยกเว้นจะเลือกบางค่าในคอลัมน์ นั้น ๆ ถึงจะต้องเขียนสูตรที่ซับซ้อนขึ้นไปครับ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#5

Post by ekkaluk_suk »

คือต้องการลดเวลาในการ copy ลงครับ ไม่แน่ใจว่าจะมีวิธีอื่น ที่เร็วกว่าหรือไม่ ประมาณว่า 1 click ออกมาเป็น sheet ที่ 2 เลยน่ะครับ :D
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#6

Post by snasui »

:D การ Copy แบบ Link เราทำแค่ครั้งแรกที่สร้างงานนี้เท่านั้นครับ สามารถ Link ได้ทั้งคอลัมน์ ค่าที่เปลี่ยนแปลงจากต้นทางก็จะเปลี่ยนไปที่ปลายทางเสมอครับ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#7

Post by ekkaluk_suk »

snasui wrote::D การ Copy แบบ Link เราทำแค่ครั้งแรกที่สร้างงานนี้เท่านั้นครับ สามารถ Link ได้ทั้งคอลัมน์ ค่าที่เปลี่ยนแปลงจากต้นทางก็จะเปลี่ยนไปที่ปลายทางเสมอครับ
ขอท้าวความก่อนครับ คือ shee1 จะไป file ที่ลูกค้าส่งมาให้เรา ส่วน sheet 2 เราต้องการมาจัด Format
เพื่อเอาเข้าในระบบ ERP ดังนั้นแต่ละครั้ง file จะมีการเปลี่ยนแปลงตลอด คือไม่ใช่ file ตัวเดิม ดังนั้นการทำ
format จะทำครั้งเดียว สำหรับ file 1 file
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#8

Post by snasui »

:D ยังไม่กระจ่างในสิ่งที่ต้องการจะทำครับ

ถ้าหากต้องการให้นำข้อมูลไปแสดงที่ชีท 2 เฉพาะคอลัมน์โดยไม่มีเงื่อนไข สามารถที่จะ Copy แล้ววางแบบ Link ได้เลย และหากต้องมีการจัด Format จะต้องทราบด้วยครับว่าัจัด Format เป็นแบบใด ถ้าแค่วางสับคอลัมน์กันเท่านั้นก็สามารถทำในตอน Copy และวางแบบ Link คือต้องค่อย ๆ Copy มาทีละคอลัมน์จนครบ

หากเงื่อนไขมีว่าดึงมาเฉพาะทุกบรรทัดที่มีค่า x อันนี้ต้องพึ่งสูตรที่ซับซ้อนขึ้น และหากเงื่อนไขมีว่าได้รับข้อมูลมาเฉพาะชีท 1 ชีทเดียว ต้องการให้สร้างชีท 2 และวางข้อมูลอัตโนมัติ อย่างนี้ถึงจะต้องพึ่ง VBA ครับ
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#9

Post by ekkaluk_suk »

snasui wrote::D ยังไม่กระจ่างในสิ่งที่ต้องการจะทำครับ

ถ้าหากต้องการให้นำข้อมูลไปแสดงที่ชีท 2 เฉพาะคอลัมน์โดยไม่มีเงื่อนไข สามารถที่จะ Copy แล้ววางแบบ Link ได้เลย และหากต้องมีการจัด Format จะต้องทราบด้วยครับว่าัจัด Format เป็นแบบใด ถ้าแค่วางสับคอลัมน์กันเท่านั้นก็สามารถทำในตอน Copy และวางแบบ Link คือต้องค่อย ๆ Copy มาทีละคอลัมน์จนครบ

หากเงื่อนไขมีว่าดึงมาเฉพาะทุกบรรทัดที่มีค่า x อันนี้ต้องพึ่งสูตรที่ซับซ้อนขึ้น และหากเงื่อนไขมีว่าได้รับข้อมูลมาเฉพาะชีท 1 ชีทเดียว ต้องการให้สร้างชีท 2 และวางข้อมูลอัตโนมัติ อย่างนี้ถึงจะต้องพึ่ง VBA ครับ
และหากเงื่อนไขมีว่าได้รับข้อมูลมาเฉพาะชีท 1 ชีทเดียว ต้องการให้สร้างชีท 2 และวางข้อมูลอัตโนมัติ อย่างนี้ถึงจะต้องพึ่ง VBA ครับ

อันนี้เลยครับที่ต้องการ พอจะชี้แนะได้มั้ยคัรบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#10

Post by snasui »

:D ลองดู Code ด้านล่างครับ

Code: Select all

Sub CopyRage()
    On Error Resume Next
    Worksheets.Add
    ActiveSheet.Name = "2"
    Worksheets("1").Range("V6:V73").Copy
    Worksheets("2").Range("A1").PasteSpecial xlPasteValues
    Worksheets("1").Range("O6:O73").Copy
    Worksheets("2").Range("B1").PasteSpecial xlPasteValues
    Worksheets("1").Range("L6:M73").Copy
    Worksheets("2").Range("C1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End Sub
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#11

Post by ekkaluk_suk »

ขออีกนิดครับ
ต้อง copy วางที่ Sheet ไหนและมันจะทำงานด้วยคำสั่งอย่างไรครับ รบกวนหน่อยเนื่องจาก VBA ยังไม่เคยใช้งานครับ :D
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#12

Post by snasui »

:P สามารถทำตามนี้ครับ

1. ที่โปรแกรม Excel กดแป้น Alt+F11 จะเข้าหน้าต่าง VBE
2. ที่หน้าต่าง VBE คลิกเมนู Insert เลือก Module
3. Copy Code ด้านล่างนี้ไปวาง (ผมปรับเพิ่มให้หลังจากสังเกตเห็นว่าให้เติมข้อมูลให้เต็มช่องที่ว่าง ๆ ไว้ด้วย)

Code: Select all

Sub CopyRage()
Dim r1 As Range
Dim r2 As Range
Dim i As Integer
    On Error Resume Next
    Worksheets.Add
    ActiveSheet.Name = "2"
    Worksheets("1").Range("V6:V73").Copy
    Worksheets("2").Range("A1").PasteSpecial xlPasteValues
    Worksheets("1").Range("O6:O73").Copy
    Worksheets("2").Range("B1").PasteSpecial xlPasteValues
    Worksheets("1").Range("L6:M73").Copy
    Worksheets("2").Range("C1").PasteSpecial xlPasteValues
    With Worksheets("2")
            i = .Range("B65536").End(xlUp).Row
            Set r2 = .Range("A2:A" & i)
    End With
    For Each r1 In r2
        If r1 = "" Then
            r1 = r1.End(xlUp)
        End If
    Next
    Application.CutCopyMode = False
End Sub
4. กดแป้น Alt+Q เพื่อกลับไปยัง Excel และปิด VBE
5. เมื่อต้องการ Run Code ให้กดแป้น Alt+F8 > เลือก CopyRange > Run

เราสามารถสร้าง Object ใด ๆ เอาไว้เพื่อให้คลิกแล้ว Run Macro ได้ง่าย ๆ ครับ เมื่อสร้าง Object แล้วให้คลิกขวาที่ Object จากนั้นเลือก Assigned Macro > เลือก CopyRange
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#13

Post by ekkaluk_suk »

snasui wrote::P สามารถทำตามนี้ครับ

1. ที่โปรแกรม Excel กดแป้น Alt+F11 จะเข้าหน้าต่าง VBE
2. ที่หน้าต่าง VBE คลิกเมนู Insert เลือก Module
3. Copy Code ด้านล่างนี้ไปวาง (ผมปรับเพิ่มให้หลังจากสังเกตเห็นว่าให้เติมข้อมูลให้เต็มช่องที่ว่าง ๆ ไว้ด้วย)

Code: Select all

Sub CopyRage()
Dim r1 As Range
Dim r2 As Range
Dim i As Integer
    On Error Resume Next
    Worksheets.Add
    ActiveSheet.Name = "2"
    Worksheets("1").Range("V6:V73").Copy
    Worksheets("2").Range("A1").PasteSpecial xlPasteValues
    Worksheets("1").Range("O6:O73").Copy
    Worksheets("2").Range("B1").PasteSpecial xlPasteValues
    Worksheets("1").Range("L6:M73").Copy
    Worksheets("2").Range("C1").PasteSpecial xlPasteValues
    With Worksheets("2")
            i = .Range("B65536").End(xlUp).Row
            Set r2 = .Range("A2:A" & i)
    End With
    For Each r1 In r2
        If r1 = "" Then
            r1 = r1.End(xlUp)
        End If
    Next
    Application.CutCopyMode = False
End Sub
4. กดแป้น Alt+Q เพื่อกลับไปยัง Excel และปิด VBE
5. เมื่อต้องการ Run Code ให้กดแป้น Alt+F8 > เลือก CopyRange > Run

เราสามารถสร้าง Object ใด ๆ เอาไว้เพื่อให้คลิกแล้ว Run Macro ได้ง่าย ๆ ครับ เมื่อสร้าง Object แล้วให้คลิกขวาที่ Object จากนั้นเลือก Assigned Macro > เลือก CopyRange

1.ถ้าต้องการให้ของเขตของข้อมูลยืดหยุ่นมากขึ้น สามารถระบุ column ไปอย่างเดียวได้หรือไม่ เผื่ออนาคตมีข้อมูลมากว่าแถวที่ 73
2.สูตรที่ copy มาของ column O ให้คูณ 1,000 ด้วยได้หรือไม่ เช่นต้นทางเป็น 14.700 ให้วางเป็น 14700
Last edited by ekkaluk_suk on Sat Mar 19, 2011 6:00 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31175
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#14

Post by snasui »

:) เปลี่ยนเลข 73 เป็นเลขใด ๆ ตามต้องการครับ (เช่นเปลี่ยนเป็น 65536) ส่วนจะให้คูณ 1000 ด้วยนั้นลองดู Code ตามด้านล่างครับ

Code: Select all

Sub CopyRage()
Dim r1 As Range
Dim r2 As Range
Dim i As Integer
    On Error Resume Next
    Worksheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "2"
    Worksheets("1").Range("V6:V73").Copy
    Worksheets("2").Range("A1").PasteSpecial xlPasteValues
    Worksheets("1").Range("O6:O73").Copy
    Worksheets("2").Range("B1").PasteSpecial xlPasteValues
    Worksheets("1").Range("L6:M73").Copy
    Worksheets("2").Range("C1").PasteSpecial xlPasteValues
    With Worksheets("2")
            i = .Range("B65536").End(xlUp).Row
            Set r2 = .Range("A2:A" & i)
    End With
    For Each r1 In r2
        If r1 = "" Then
            r1 = r1.End(xlUp)
        End If
        r1.Offset(0, 1) = r1.Offset(0, 1) * 1000
    Next
    Application.CutCopyMode = False
End Sub
ekkaluk_suk
Member
Member
Posts: 126
Joined: Mon Jul 19, 2010 7:58 am

Re: ต้องการ Sum ข้อมูลไปแสดงอีกแผ่นงาน

#15

Post by ekkaluk_suk »

ขอบคุณมากครับ ตรงตามความต้องการจริง ๆ สมกับเป็นกระบี่มือ 1 จริง ๆ :o :o
Post Reply