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

ตัวอย่างการปรับ 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)&"*")
ขอบพระคุณครับ