: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

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#81

Post by snasui »

:D เป็นระบบ Security ของ Windows ที่จะไม่ให้เขียนทับไฟล์ในโฟลเดอร์ Program Files เพื่อความปลอดภัยของเครื่องผู้ใช้ ควรแยกไฟล์ออกมาไว้นอกโฟลเดอร์ Program Files จะดีกว่าครับ
You do not have the required permissions to view the files attached to this post.
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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
You do not have the required permissions to view the files attached to this post.
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
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