Page 1 of 1

ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Thu Apr 28, 2022 11:04 pm
by 9KiTTi
ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA เพื่อหาจำนวน cell ใน columm B2:B25 ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป ผมเขียน coed แบบนี้ แต่เรียกฟอร์มแล้ว ไม่แสดงข้อมูลใน textbox ไม่ทราบต้องแก้อย่างไร ขอบพระคุณครับ

Code: Select all

Sub UserForm_Click()
Me.check.Text = Application.WorksheetFunction.CountA(Len([data!B2:B1000] >= 15))
End Sub

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Fri Apr 29, 2022 6:16 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Sub UserForm_initialize()
'Me.check.Text = Application.WorksheetFunction.CountA(Len([data!B2:B1000] >= 15))
    Me.check.Text = [Sumproduct(--(Len(b2:b1000) >= 15))]
End Sub

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Fri Apr 29, 2022 6:26 am
by 9KiTTi
ขอบพระคุณครับอาจารย์ ผมต้องไปศึกษาเรื่อง Sumproduct เพิ่มเติมอีกครับ

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Fri Apr 29, 2022 12:19 pm
by Bo_ry

Code: Select all

Private Sub UserForm_Activate()
    Me.check.Text = [countif(b2:b1000,rept("?",15)&"*")]
End Sub

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Fri Apr 29, 2022 11:21 pm
by 9KiTTi
Bo_ry wrote: Fri Apr 29, 2022 12:19 pm

Code: Select all

Private Sub UserForm_Activate()
    Me.check.Text = [countif(b2:b1000,rept("?",15)&"*")]
End Sub
ขออนุญาตอธิบายเรื่อง code ได้ไหมรับ เพราะผมไม่เข้าใจครับ ขอบพระคุณครับ

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Sat Apr 30, 2022 6:31 pm
by Bo_ry
? คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัว
* คือ Wildcard สำหรับอักษรอะไรก็ได้ 0 ตัวขึ้นไป
"?*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัวขึ้นไป

"??*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 2 ตัวขึ้นไป

rept("?",15)&"*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 15 ตัวขึ้นไป

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Sat Apr 30, 2022 10:31 pm
by 9KiTTi
Bo_ry wrote: Sat Apr 30, 2022 6:31 pm ? คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัว
* คือ Wildcard สำหรับอักษรอะไรก็ได้ 0 ตัวขึ้นไป
"?*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัวขึ้นไป

"??*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 2 ตัวขึ้นไป

rept("?",15)&"*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 15 ตัวขึ้นไป
ขอบพระคุณครับ

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Tue May 03, 2022 4:04 pm
by 9KiTTi
9KiTTi wrote: Sat Apr 30, 2022 10:31 pm
Bo_ry wrote: Sat Apr 30, 2022 6:31 pm ? คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัว
* คือ Wildcard สำหรับอักษรอะไรก็ได้ 0 ตัวขึ้นไป
"?*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 1 ตัวขึ้นไป

"??*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 2 ตัวขึ้นไป

rept("?",15)&"*" คือ Wildcard สำหรับอักษรอะไรก็ได้ 15 ตัวขึ้นไป
ขอบพระคุณครับ
สอบถามเพิ่มเติมคัรบ กรณีที่ต้องการให้แสดงจำนวนน้อยกว่า 15 ตัว ต้องเขียนอย่างไรครับ

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Tue May 03, 2022 7:59 pm
by Bo_ry
=counta(b2:b1000)-countif(b2:b1000,rept("?",15)&"*")

=countif(b2:b1000,"<>"&rept("?",15)&"*")

Re: ขออนุญาตสอบถามเรื่องการใช้สูตรใน VBA จำนวน cell ที่มีจำนวนตัวอักษรตั้งแต่ 15 ขึ้นไป

Posted: Tue May 03, 2022 9:11 pm
by 9KiTTi
Bo_ry wrote: Tue May 03, 2022 7:59 pm =counta(b2:b1000)-countif(b2:b1000,rept("?",15)&"*")

=countif(b2:b1000,"<>"&rept("?",15)&"*")
ขอบพระคุณครับ