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

Macro : อยากให้โชว์ค่า 2 Column

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Macro : อยากให้โชว์ค่า 2 Column

#1

Post by wisitsakbenz »

หลังจากที่กรอกข้อมูล แล้ว Click button 4 ข้อมูลจะแสดงใน Sheet "Forms"

1.โดยข้อมูลจะไม่แสดงค่าที่เป็นค่าว่าง
2.Column แรก จะเอาข้อมูลจาก Columb B ใน Sheet "input"
3. จะแยก column เป็น Package และ Additional

ต้องปรับ Code อย่างไรบ้างครับอาจารย์ ขอบคุณครับ
Attachments
Book200.xlsm
(31.24 KiB) Downloaded 4 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Macro : อยากให้โชว์ค่า 2 Column

#2

Post by snasui »

:D ตัวอย่าง Code ครับ

Code: Select all

Dim rall as Range, r As Range, i As Integer
Dim arr(99, 4) As Variant
With Sheets("Input")
    Set rall = .Range("c3", .Range("c" & .Rows.Count).End(xlUp))
    i = 2
    For Each r In rall
        If r.MergeCells Then
            i = i + 1
        End If
        If r.Value + r.Offset(0, 1).Value > 0 Then
            If r.Offset(0, -1).Value <> "" Then
                arr(i, 0) = r.Offset(0, -1).Value
            Else
                arr(i, 0) = r.Offset(0, -2).Value
            End If
            If r.Value > 0 Then
                arr(i, 3) = r.Value
            End If
            If r.Offset(0, 1).Value > 0 Then
                arr(i, 4) = r.Offset(0, 1).Value
            End If
            i = i + 1
        End If
    Next r
End With
With Worksheets("Forms")
    If i > 0 Then
        .Range("a:e").Clear
        .Range("a1:e1").Value = Array("Detail Estimate", "", "", _
            "Package", "Additional")
        .Range("a2").Resize(i, 5).Value = arr
    End If
End With
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : อยากให้โชว์ค่า 2 Column

#3

Post by wisitsakbenz »

อาจารย์ครับในส่วนที่ 2 อยากให้โชว์ผลรวมได้หรือไม่ครับ และเพิ่มเติมในส่วนที่ 3 เข้ามาด้วยครับ

ไม่ทราบว่าต้องปรับ Code อย่่างไรบ้างครับ ขอบคุณครับ
Attachments
Book200.xlsm
(31.41 KiB) Downloaded 4 times
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Macro : อยากให้โชว์ค่า 2 Column

#4

Post by snasui »

:D ในส่วนที่ 2 รวมกันด้วยเงื่อนไขใด โปรแกรมจะทราบได้อย่างไรว่าในส่วนนั้นจะต้องรวมลักษณะนั้น ทั้งจะทราบได้อย่างไรว่าจะวางจำนวนเงินในบรรทัดไหน ที่สำคัญคือกรุณาเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ

สำหรับในการปรับให้แสดงส่วนที่ 3 สามารถปรับ Code เป็นด้านล่างครับ

Code: Select all

'Other code
Dim arr(99, 4) As Variant, lr As Long
With Sheets("Input")
    lr = Application.Max(.Range("c" & .Rows.Count).End(xlUp).Row, _
        .Range("d" & .Rows.Count).End(xlUp).Row)     
    Set rall = .Range("c3:c" & lr)
'Other
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : อยากให้โชว์ค่า 2 Column

#5

Post by wisitsakbenz »

อาจารย์ครับ พอนำไปใส่ใน Wookbook ที่ใช้งานจริง มันขึ้น error ครับ

ค่า r.Value = total

ซึ่งจริงๆ แล้วจะต้องเป็นค่าตัวเลขที่อยู่ในช่อง C18
ผมทำผิดตรงไหนหรือไม่ครับอาจารย์
รบกวนอาจารย์ด้วยครับ ขอบคุณครับ
Attachments
2019-11-20_082442.jpg
2019-11-20_082442.jpg (6.3 KiB) Viewed 61 times
2019-11-20_082549.jpg
2019-11-20_082549.jpg (39.46 KiB) Viewed 61 times
wisitsakbenz
Silver
Silver
Posts: 562
Joined: Mon Sep 09, 2019 3:13 pm
Excel Ver: 2013

Re: Macro : อยากให้โชว์ค่า 2 Column

#6

Post by wisitsakbenz »

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31191
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: Macro : อยากให้โชว์ค่า 2 Column

#7

Post by snasui »

:D เข้าใจว่าไม่ได้ผิด แต่ว่าไฟล์จริงมีข้อมูลไม่เหมือนตัวอย่าง จาก Error ที่จับภาพมาจะต้องตรวจสอบเพิ่มว่าหากเจอเป็นค่า Text จะต้องไม่ดำเนินการใด ๆ แต่หากเป็นตัวเลขจึงจะดำเนินการต่อครับ
Post Reply