: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 และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
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: การแปลงข้อมูล

#81

Post by snasui »

:D เป็นระบบ Security ของ Windows ที่จะไม่ให้เขียนทับไฟล์ในโฟลเดอร์ Program Files เพื่อความปลอดภัยของเครื่องผู้ใช้ ควรแยกไฟล์ออกมาไว้นอกโฟลเดอร์ Program Files จะดีกว่าครับ
Attachments
Pgfileprop.png
Pgfileprop.png (25.52 KiB) Viewed 59 times
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#82

Post by Bafnet »

สวัสดดีครับอาจารย์
ตอนนี้ได้ได้แยกไฟล์มาตั้งนอกโปรแกรมไฟล์ตามคำแนะนำแล้วครับ
และแก้ Code ที่อ้างถึงตำแหน่งโดยใช้ Find ที่อาจารย์สอน กำลังตรวจทีละหน้า
พอมาตรวจดู หน้าแรกๆที่เริ่มทำก็ขำครับ code ช่วงแรกๆดูมึนๆประเภทแบบสั่งแล้วสั่งอีก
คำสั่งเดียว มี On ERROR Resum Next ตั้ง 5-6 ตัว
แต่พออยู่กับอาจารย์นานเข้า อืม...ชักดูดีๆ :mrgreen:
อาจารย์วันนี้มีเรื่องเรียนถามหน่อยนะครับ
เป็นเรื่องแปลงข้อมูลครับแต่เป็นเรื่องของตัวเลข

1000 ต้องการให้แสดงเป็น 1,000.00
1587.667 ให้แสดงเป็น 1,587.66
แบบว่าต้องการจุดทศนิยมแบบไม่ปัด
ผมกำหนดรูปแบบว่าเป็นจุดทศนิยม แบบ 3 ตำแหน่ง
แต่พอเจอคำสั่ง Comma มันก็กลายเป็นสอง 1,587.67
เป็นสองก็ถูกต้องครับ แต่อย่าปัด

ขอบคุณครับ
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: การแปลงข้อมูล

#83

Post by snasui »

:D การจัดการกับทศนิยมแบบไม่ปัดสำหรับฟังก์ชันใน Worksheet สามารถใช้ Rounddown(A1,2) หรือ Trunc(A1,2) เป็นการทศนิยมทิ้งไปให้เหลือเพียง 2 ตำแหน่ง

กรณีใช้ VBA สามารถใช้คำสั่ง Rounddown ได้เช่นกันครับ เช่น

Code: Select all

Application.Rounddown(Range("A1"),2))
:mrgreen:
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#84

Post by Bafnet »

สวัสดีครับอาจารย์
ขออนุญาติใช้กระทู้เดิมในการเก็บรายละเอียดชิ้นงานนี้นะครับ
ขอบคุณมากครับสำหรับเรื่องทศนิยม
มีเรื่องเรียนถามครับ พอดีมีคนบอกว่าถ้าจะใช้แสดงเครื่องหมายถูก ให้พิมพ์ตัว P
และเลือกรูปแบบฟอร์นเป็น Wingdings 2

Code: Select all

If Sheet26.Range("O22").Value = Sheet26.Range("E22").Value Then
frmDrop.Label137.Caption = "P"
frmDrop.Label137.Font = "Wingdings 2"
frmDrop.Label137.ForeColor = &HC000& 'ค่าสีผมลอกจากหน้าPropertyสีเขียว
Else
frmDrop.Label137.Caption = "X"
frmDrop.Label137.Font = "Tahoma"
frmDrop.Label137.ForeColor = &HFF& 'ค่าสีผมลอกจากหน้าPropertyสีแดง
End If
ผมลองรันดู P มา สีมา แต่รูปแบบฟอร์นไม่มา ผมเขียนคำสั่งผิดแน่ๆ
รบกวนอาจารย์ปรับหน่อยครับ
:tt:
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: การแปลงข้อมูล

#85

Post by snasui »

:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

If Sheet26.Range("O22").Value = Sheet26.Range("E22").Value Then
frmDrop.Label137.Font = "Wingdings 2"
frmDrop.Label137.Caption = "P"
frmDrop.Label137.ForeColor = &HC000& 'ค่าสีผมลอกจากหน้าPropertyสีเขียว
Else
frmDrop.Label137.Font = "Tahoma"
frmDrop.Label137.Caption = "X"
frmDrop.Label137.ForeColor = &HFF& 'ค่าสีผมลอกจากหน้าPropertyสีแดง
End If
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#86

Post by Bafnet »

ขอบคุณครับ
:lol: แหมลำดับความสำคัญผิดไป
ยิ่งนานวันยิ่งสงสัย เอ...อาจารย์ไปร่ำเรียน Excel จากไหน
ความรู้ความเข้าใจถึงมากมายเหลือเกิน หรือไม่ก็งานของอาจารย์
ต้องเกี่ยวข้องกับ Excel เป็นแน่
ขอบคุณครับ
เกือบลืมครับ
ขอบคุณอาจารย์มากๆครับที่สอนให้ผมรู้จักประกาศตัวแปร
Dim..... :lol:
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: การแปลงข้อมูล

#87

Post by snasui »

:lol: ก่อนหน้านี้ก็ใช้งาน Excel แทบทั้งวัน แต่ปัจจุบันไม่ได้เป็นเช่นนั้นแล้วครับ

ผมตอบปัญหาเกี่ยวกับ Excel ทั้งในประเทศและต่างประเทศมานานเป็นสิบปีแล้วครับ แต่หลัง ๆ ตอบในประเทศเป็นหลัก ความรู้ก็ได้จาก Help ของโปรแกรม การทดสอบ ทดลองเยอะ ๆ ครับ

ตัวอย่างการตอบคำถามในเวบต่างประเทศ
:arrow: ExcelForum
:arrow: MrExcel
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#88

Post by Bafnet »

สวัสดีครับอาจารย์
ขอบคุณครับสำหรับแหล่งความรู้ดีๆ ผมจะพยายามเรียนรู้ครับ
การเรียนรู้ไม่มีวันจบสิ้น
ผมหวังอย่างยิ่งว่าอาจารย์คงยังอยู่
มีปัญหาครับ
เกิด Bug
ที่ r=r+1
ขณะที่ r=32768
ผมเข้าใจว่าน่าจะเป็นเพราะ Dim r AS Interger ผมอ่านจากหนังสือ
แก้ไขอย่างไรดีครับ
ผมว่าจะเปลี่ยนเป็น Long ไหมครับไม่กล้าเปลี่ยนขอถามอาจารย์ก่อน
ตอนนี้ข้อมูลวิ่งอยู่ที่ สี่-ห้าหมื่นบรรทัดครับ
:oops:
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#89

Post by Bafnet »

อาจารย์ครับ
ถ้า Find As Interger แล้วเปลี่ยนเป็น AS Long
จะมีผลกับที่บางคำสั่ง r สูงสุดเป็นแค่หลักสิบ หรือร้อย
หรือไม่มีผล เพราะการกำหนดว่า As Long
เป็นแค่การกำหนดจำนวนค่าของข้อมูลว่าสูงสุดรับได้เท่าไร
ดังนั้นจึงไม่มีปัญหากับค่าต่ำสุด
ถ้าจะมีก็คือค่าที่เกินค่าสูงสุดที่รับได้
เอ..เข้าใจถุกรึป่าว :lol:
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: การแปลงข้อมูล

#90

Post by snasui »

Bafnet wrote:มีปัญหาครับ
เกิด Bug
ที่ r=r+1
ขณะที่ r=32768
ผมเข้าใจว่าน่าจะเป็นเพราะ Dim r AS Interger ผมอ่านจากหนังสือ
แก้ไขอย่างไรดีครับ
แก้ไขด้วยการเปลี่ยนเป็น Long อย่างที่คุณ Bufnet คิดไว้ได้เลยครับ เนื่องจาก Long จะอยู่ในช่วง -2,147,483,648 ถึง 2,147,483,647 ส่วน Integer อยู่ในช่วง -32,768 to 32,767 ซึ่งไม่พอใช้งานครับ
Bafnet wrote:อาจารย์ครับ
ถ้า Dim r As Interger แล้วเปลี่ยนเป็น AS Long
จะมีผลกับที่บางคำสั่ง r สูงสุดเป็นแค่หลักสิบ หรือร้อย
หรือไม่มีผล เพราะการกำหนดว่า As Long
เป็นแค่การกำหนดจำนวนค่าของข้อมูลว่าสูงสุดรับได้เท่าไร
ดังนั้นจึงไม่มีปัญหากับค่าต่ำสุด
ถ้าจะมีก็คือค่าที่เกินค่าสูงสุดที่รับได้
เอ..เข้าใจถุกรึป่าว
เข้าใจถูกแล้วครับ ค่าต่ำสุดก็จะขยายไปมากกว่าเดิม จึงไม่น่าจะมีผลกระทบจากการเปลี่ยนเป็น Integer เป็น Long ครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#91

Post by Bafnet »

ขอบคุณครับ
นั่งคอยอยู่ด้วยความกังวลว่าอาจารย์จะอยู่รึป่าว
งั้นลุยเลยนะครับ
แก้ๆ :lol:
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#92

Post by Bafnet »

สวัสดีครับอาจารย์
เกิดเรื่องครับ
อยู่ๆก็รันโค๊ดไม่ได้ครับ
Code ที่สั่งรัน อยู่ใน frmbranch
แต่มันดันไป DeBug ที่คำสั่งที่อยู่ในfrmMain ซึ่งfrmmain ผมไม่ได้ใช้
ได้หน้าจอ Debug ดังนี้ครับ งงไปหมดแล้วครับ
pang.jpg
(201.48 KiB) Downloaded 25 times
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#93

Post by Bafnet »

สวัสดีครับ
อาจารย์ครับ
ไม่ว่าจะเลือกสั่งรัน frmตัวไหนก็ Debug ลักษณะดังกล่าวหมดครับ
:roll: จะร้องแล้วแก่ก็ร้องกันครางนี้ล่ะ
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: การแปลงข้อมูล

#94

Post by snasui »

:D ตรวจสอบว่าในฟอร์มต่าง ๆ ใช้ชื่อ Procedure ซ้ำกันหรือไม่ครับ และลองดูว่า Event MouseMove ใช้กับ Object ที่ชื่อว่า bSend หรือไม่

ช่วย Resize ภาพ หรือ Capture ภาพให้มีสัดส่วนเล็กกว่านี้อีกหน่อยครับ เนื่องจากบางเวลาผมใช้จอเล็ก ทำให้มองไม่สะดวกครับ :tt: :mrgreen:
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#95

Post by Bafnet »

สวัสดีครับ
จนด้วยเกล้าครับ..ลบทุกอย่างที่สร้างเพิ่มทิ้งก็ยังไม่ได้
อยากส่งไฟล์ให้อาจารย์ดูแต่ก็ใหญ่ 10167 KB
ถ้าจะให้อาจารย์ teamViewver เข้ามาดูให้
จะผิดกฏการทำงานของอาจารย์หรือเปล่าครับ
อาจารย์ครับ การที่วันก่อนผมไปสั่งเปลี่ยน Interger เป็น long
แต่รู้สึกว่าถ้าจำไม่ผิดวันนั้นสั่งเปลี่ยนทั้งโปรเจค
มันอาจไปส่งผลหรือเปล่า

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

#96

Post by snasui »

:D ช่วงกลางวันคงไม่สะดวกในการ Remote Desktop ครับ

สำหรับเรื่องการเปลี่ยนตัวแปรจาก Integer เป็น Long ไม่น่าจะมีผล และถ้าจะฟ้องควร Out of Memory อะไรแบบนั้นครับ :)
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#97

Post by Bafnet »

สวัสดีครับอาจารย์
รายงานความคืบหน้าครับ
ได้ไปเอาไฟล์งานที่ให้พนักงานทดลองใช้
ซึ่งไม่ได้เขียนคำสั่งใดๆเพิ่มเติม นอกจากการแก้ Interger เป็น Long
ปรากฎว่า Debug ลักษณะดังกล่าวครับ
และไฟล์ที่ไม่ได้แก้ Interger เป็น Long ไม่มีอาการดังกล่าว :roll:
ก็ไม่เป็นไรครับ เดี๋ยวทำใหม่ความพยายามอยู่ที่ไหนความสำเร็จน่าจะอยู่ที่นั้น
อืม...อาจารย์ครับมีสักสองประเด็น
1.การประกาศตัวแปรไว้แต่ไม่ได้ใช้มีผลกับคำสั่งนั้นรึเปล่าครับ เช่นบอกว่า Dim X As interger
แต่ในคำสั่งนั้นไม่มีคำสั่งใดๆที่ใช้ x เพราะบางทีคำสั่งที่คล้ายๆกันผมก็ลอกไปวาง แล้วเปลี่ยนคำสั่งแต่
ส่วนที่ประกาศตัวแปรบางทีก็ลืมลบ
2.อาจารย์พอจะแนะนำแหล่งความรู้เรื่อง barcode ได้ไหมครับ
ตอนนี้ผมมีฟอร์นบาร์โค๊ด ซึ่งนำไปทดสอบแล้ว ใช้ได้ครับ
แต่อยากรู้วิธีเขียน เช่นชุดข้อมูล+Enter ,ชุดข้อมูล+F7
ประมาณว่ายิงแล้วได้ข้อมูลตามที่ระบุพร้อม Enter :mrgreen:

เรื่องสุดท้ายครับ อาจารย์ครับงานชิ้นนี้ได้ถูกคัดเลือกส่งเข้าประกวด
งานนวัตกรรมประเภทโปรแกรมช่วยงานสาขา ของธกส.ประจำปี2554
ต้องขอขอบคุณอาจารย์อีกครั้งที่ทำให้มาถึงจุดนี้
ขออนุญาตนำ Link snasui.Com ใส่ในโปรแกรมนะครับ
ขอบพระคุณอย่างสูงครับ
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: การแปลงข้อมูล

#98

Post by snasui »

Bafnet wrote:รายงานความคืบหน้าครับ
ได้ไปเอาไฟล์งานที่ให้พนักงานทดลองใช้
ซึ่งไม่ได้เขียนคำสั่งใดๆเพิ่มเติม นอกจากการแก้ Interger เป็น Long
ปรากฎว่า Debug ลักษณะดังกล่าวครับ
และไฟล์ที่ไม่ได้แก้ Interger เป็น Long ไม่มีอาการดังกล่าว :roll:
นับเป็นเรื่องแปลกครับ สิ่งที่ฟ้องไม่ตรงกับสิ่งที่โปรแกรมกำลังเป็น :lol:
Bafnet wrote:1.การประกาศตัวแปรไว้แต่ไม่ได้ใช้มีผลกับคำสั่งนั้นรึเปล่าครับ เช่นบอกว่า Dim X As interger
แต่ในคำสั่งนั้นไม่มีคำสั่งใดๆที่ใช้ x เพราะบางทีคำสั่งที่คล้ายๆกันผมก็ลอกไปวาง แล้วเปลี่ยนคำสั่งแต่
ส่วนที่ประกาศตัวแปรบางทีก็ลืมลบ
ไม่มีปัญหาครับ แต่ถ้าใช้โดยไม่ประกาศก่อนตัวแปรนั้นจะเป็น Variant โดยอัตโนมัติ
Bafnet wrote:2.อาจารย์พอจะแนะนำแหล่งความรู้เรื่อง barcode ได้ไหมครับ
ตอนนี้ผมมีฟอร์นบาร์โค๊ด ซึ่งนำไปทดสอบแล้ว ใช้ได้ครับ
แต่อยากรู้วิธีเขียน เช่นชุดข้อมูล+Enter ,ชุดข้อมูล+F7
ประมาณว่ายิงแล้วได้ข้อมูลตามที่ระบุพร้อม Enter :mrgreen:
สำหรับเรื่อง VBA และ Barcode ลองศึกษาตามนี้ดูครับ :arrow: VBA and Barcode
Bafnet wrote:ขออนุญาตนำ Link snasui.Com ใส่ในโปรแกรมนะครับ
ยินดีครับ
Bafnet
Member
Member
Posts: 167
Joined: Thu Jun 09, 2011 11:52 pm

Re: การแปลงข้อมูล

#99

Post by Bafnet »

สวัสดีครับ
ขอบคุณครับสำหรับแหล่งความรู้เรื่องบาร์โค๊ด
ชอบใจๆๆ :lol: มีเรื่องให้ตื่นตาตื่นใจมากมาย
ทั้งDigital Clock
แต่เรื่องบาร์barcode ผมติดตรงไม่ทราบว่า
จะไปโหลด Encoder.bas ที่ไหน
หาอยู่2วันยังไม่พบแหล่ง
อาจารย์ครับวันนี้มีเรื่องรบกวนอาจารย์ปรับให้หน่อยครับ

Code: Select all

Private Sub CommandButton28_Click()
Dim ri As Range
If frmPro.ComboBox12.Value = "" Then
Exit Sub
End If
On Error Resume Next
Sheet21.Visible = xlSheetVisible
Sheet21.Activate
With Worksheets("Credit")
Set ri = .Range(.Range("BU1"), .Range("BZ65536") _
.End(xlUp)).SpecialCells(xlCellTypeVisible)
End With
ri.Select
Selection.EntireColumn.AutoFit
With Selection
   .Borders(xlEdgeLeft).LineStyle = xlContinuous
   .Borders(xlEdgeTop).LineStyle = xlContinuous
   .Borders(xlEdgeBottom).LineStyle = xlContinuous
   .Borders(xlEdgeRight).LineStyle = xlContinuous
   .Borders(xlInsideHorizontal).LineStyle = xlContinuous
   .Borders(xlInsideVertical).LineStyle = xlContinuous
End With
frmPro.Hide
ri.PrintPreview
frmPro.Show
Sheet21.Activate
Columns("BU:BZ").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Sheet21.Visible = xlSheetHidden
End Sub
คือที่Rang BU:BZ เป็นข้อมูลหาจำนวนงวดชำระหนี้
ซึ่งมีข้อมูลไม่แน่นอน
แต่ผมอยากให้ข้อมูลที่ต่อจากบรรทัดที่มีข้อมูล(เน้นที่BU:BZ นะครับ เนื่องจากที่ตำแหน่งเซลอื่นๆมีข้อมูลอื่นอยู่ด้วย)
เป็นผลรวมของแต่ละ Range
เช่นสมมติข้อมูลสุดท้ายที่ BU100
ก็อยากให้ที่ Range("BU101").formular ="=SUM(BU:BU)"
Range("BV101").formular ="=SUM(BV:BV)"
Range("BW101").formular ="=SUM(BW:BW)"
แนะนำหน่อยนะครับ
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: การแปลงข้อมูล

#100

Post by snasui »

:P ลองดู Code ด้านล่างว่าใช่ที่ต้องการหรือเปล่าครับ

Code: Select all

Sub SumLastCellToStartCell()
Dim r As Range
Set r = Range("BU" & Rows.Count).End(xlUp).Offset(1, 0)
 r = "=sum(R1C:R[-1]C)"
 r.Offset(0, 1) = "=sum(R1C:R[-1]C)"
 r.Offset(0, 2) = "=sum(R1C:R[-1]C)"
 r.Offset(0, 3) = "=sum(R1C:R[-1]C)"
 r.Offset(0, 4) = "=sum(R1C:R[-1]C)"
 r.Offset(0, 5) = "=sum(R1C:R[-1]C)"
End Sub
Post Reply