ฟังก์ชัน Excel vba สำหรับการทำงานกับสตริง ฟังก์ชัน VBA สำหรับการทำงานกับข้อความ การดำเนินการสตริง

ตัวอักษร 'A' ถึง 'Z' เรียงลำดับจากน้อยไปมาก กล่าวคือ แต่ละตัวอักษรมีค่าลำดับที่สอดคล้องกับตำแหน่งในตัวอักษร ค่าลำดับนี้สามารถหาได้โดยใช้ฟังก์ชัน ลำดับ.
ลำดับ(การแสดงออก)– ส่งกลับเลขลำดับของอักขระหรือค่าของประเภทที่ไม่ต่อเนื่องกันอื่น
ลำดับ('ฉัน') ลำดับ('J') ผลลัพธ์: 73, 74 (รหัส ASCII)

หมายเลขซีเรียลของตัวอักษรขึ้นอยู่กับรหัสที่ใช้ แต่ไม่ว่าจะใช้รหัสใดก็ตาม ค่าลำดับของตัวอักษรจะเรียงจากน้อยไปหามาก:
ลำดับ('A')< ord(‘B’) < ord(‘C’) … < ord(‘Z’)
แม้ว่า ord('Z') – ord('A') ไม่จำเป็นต้องเท่ากับ 25 เช่นเดียวกับตัวอักษรตัวพิมพ์เล็ก:
ลำดับ('a')< ord(‘b’) < ord(‘c’) … < ord(‘z’)

ไม่มีความสัมพันธ์ที่ชัดเจนระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กที่สอดคล้องกัน แต่คุณสามารถวางใจได้อย่างปลอดภัยว่า ord('a') - ord('A') มีความหมายเดียวกันกับ ord('z') - ord('Z ')

ไม่ว่าจะใช้รหัสใดก็ตาม ค่าลำดับของตัวเลขก็จะถูกจัดเรียงจากน้อยไปมากเช่นกัน:
ลำดับ('0')< ord(‘1’) < ord(‘2’) … < ord(‘9’)
และยิ่งกว่านั้นค่าลำดับของตัวเลขที่อยู่ติดกันต่างกัน 1 ดังนั้น ord('9') – ord('0') = 9 ตามมาว่าค่าตัวเลขของหลัก d (ประเภทถ่าน) สามารถรับได้เช่นนี้
ค่า:= ord(d) – ord('0')

Pascal รองรับประเภท ถ่านจำนวนเต็มฯลฯ นอกเหนือจากนั้น โปรแกรมเมอร์ยังมีสิทธิ์กำหนดประเภทอื่น ๆ โดยการแสดงรายการลำดับของค่าคงที่ ตัวอย่างเช่น ประเภทที่ระบุโดยการแจงนับ:
พิมพ์วัน = (จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์ อาทิตย์)

ค่าคงที่ประเภทที่ระบุโดยการแจงนับจะมีค่าลำดับที่เป็นศูนย์ ตัวอย่างเช่น ord(mon) ส่งคืน 0, ord(sun) ส่งคืน 6; จันทร์< sun.

พิมพ์ บูลีน– ประเภทที่ระบุซึ่งจะถูกตั้งค่าโดยอัตโนมัติเป็น
ประเภทบูลีน = (เท็จ, จริง);
ดังนั้น ord(false) ให้ 0, ord(true) ให้ 1; เท็จ< true.

ฟังก์ชัน CHR

กลับมาเพื่อ ลำดับเป็นฟังก์ชัน .
ch (การแสดงออก)– ส่งคืนอักขระที่มีค่าลำดับที่ระบุโดยพารามิเตอร์ ค่าที่ไม่ถูกต้องส่งผลให้เกิดข้อผิดพลาด
chr(73), chr(74) ผลลัพธ์: I, J (การเข้ารหัส ASCII)
CH(1000) ผลลัพธ์: ข้อผิดพลาด

ฟังก์ชั่น succ และ pred

ค่าลำดับนั้นแทบจะไม่จำเป็นต้องใช้ด้วยตัวเองเลย การรู้องค์ประกอบถัดไปหรือก่อนหน้าตามลำดับที่กำหนดมักจะเพียงพอแล้ว ฟังก์ชันต่างๆ มีไว้เพื่อจุดประสงค์นี้ ความสำเร็จและ ก่อน.
สำเร็จ (การแสดงออก)– ส่งคืนองค์ประกอบตามที่ระบุเป็นพารามิเตอร์
สำเร็จ('A'), สำเร็จ ('0'), สำเร็จ (0) ผลลัพธ์: B, 1 (ตัวอักษร), 1 (ตัวเลข)
สำเร็จ (เท็จ) ผลลัพธ์: จริง
ก่อน (การแสดงออก)– ส่งคืนองค์ประกอบก่อนหน้าองค์ประกอบที่ระบุเป็นพารามิเตอร์
pred('Z'), pred('9'), pred(9) ผลลัพธ์: Y, 8 (ตัวอักษร), 8 (ตัวเลข)
ก่อน(จริง) ผลลัพธ์: เท็จ

ฟังก์ชันทั้งสองนี้สามารถใช้เพื่อกำหนดองค์ประกอบถัดไปและองค์ประกอบก่อนหน้าสำหรับประเภทที่ระบุโดยการแจงนับ ลองใช้ประเภทวันที่กำหนดไว้ก่อนหน้านี้: pred(sun) ส่งคืน sat, succ(mon) ส่งคืน tue

อย่างไรก็ตาม การเขียน writeln(pred(sun)) จะไม่ถูกต้อง เนื่องจากไม่สามารถอ่านหรือพิมพ์องค์ประกอบของประเภทที่ระบุได้ ซึ่งแน่นอนว่าลดประโยชน์ของการใช้ประเภทดังกล่าว การประมาณค่าที่ดีที่สุดของ writeln(pred(sun)) คือคำสั่ง writeln(ord(pred(sun))) ซึ่งพิมพ์ตัวเลข 5 (ค่าลำดับของ sat)

ในบทความนี้ เราจะวิเคราะห์การทำงานกับสตริงใน VBA โดยใช้ตัวอย่างของฟังก์ชัน InStr, LCASE, UCase, ซ้าย, ขวา, Mid, LTrim, RTrim, Trim, Len, แทนที่, Space, StrComp, String, StrReverse

สตริงคือลำดับอักขระที่สามารถประกอบด้วยตัวอักษร ตัวเลข อักขระพิเศษ หรือทั้งหมดก็ได้ ตัวแปรจะเรียกว่าสตริงหากอยู่ในเครื่องหมายคำพูดคู่ ""

ไวยากรณ์

ชื่อตัวแปร = "สตริง"

ตัวอย่าง

ฟังก์ชันสตริง

มีฟังก์ชันสตริง VBA ที่กำหนดไว้ล่วงหน้าซึ่งช่วยให้นักพัฒนาทำงานกับสตริงได้อย่างมีประสิทธิภาพ ต่อไปนี้เป็นวิธีการ String ที่รองรับใน VBA โปรดคลิกแต่ละวิธีเพื่อทราบรายละเอียด

ชื่อฟังก์ชันและคำอธิบาย

InStr

ฟังก์ชัน InStr ส่งคืนสตริงแรกที่เกิดขึ้นภายในสตริงอื่น การค้นหาเกิดขึ้นจากซ้ายไปขวา

ไวยากรณ์

InStr(string1,string2[,เปรียบเทียบ])

คำอธิบายพารามิเตอร์

  • Start เป็นพารามิเตอร์ทางเลือก ระบุตำแหน่งเริ่มต้นสำหรับการค้นหา การค้นหาเริ่มจากตำแหน่งแรกจากซ้ายไปขวา

ตัวอย่าง

ส่วนตัว Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox ("Line 1: " & InStr(1, Var, "s")) MsgBox ("Line 2: " & InStr(7, Var, "s") " ")) MsgBox ("บรรทัดที่ 3: " & InStr(1, Var, "f", 1)) MsgBox ("บรรทัดที่ 4: " & InStr(1, Var, "t", 0)) MsgBox ("บรรทัด 5 : " & InStr(1, Var, "i")) MsgBox ("บรรทัด 6: " & InStr(7, Var, "i")) MsgBox ("บรรทัด 7: " & InStr(Var, "VB") ) จบหมวดย่อย

บรรทัด 1:6
บรรทัด 2: 0
บรรทัด 3:8
บรรทัด 4:9
บรรทัด 5:2
บรรทัดที่ 6: 16
บรรทัดที่ 7: 11

ส่งคืนการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุ การค้นหาเกิดขึ้นจากซ้ายไปขวา

InStrRev

ฟังก์ชัน InStrRev ส่งกลับค่าที่เกิดขึ้นครั้งแรกของสตริงหนึ่งภายในสตริงอื่น การค้นหาเกิดขึ้นจากขวาไปซ้าย

ไวยากรณ์

InStrRev(string1,string2[,เริ่มต้น,])

คำอธิบายพารามิเตอร์

  • String1 เป็นพารามิเตอร์ที่จำเป็น สตริงการค้นหา
  • String2 เป็นพารามิเตอร์ที่จำเป็น สตริงที่จะค้นหา String1
  • Start เป็นพารามิเตอร์ทางเลือก ระบุตำแหน่งเริ่มต้นสำหรับการค้นหา การค้นหาเริ่มจากตำแหน่งแรกจากขวาไปซ้าย
  • เปรียบเทียบ - พารามิเตอร์ทางเลือก ระบุการเปรียบเทียบสตริง โดยสามารถรับค่าต่อไปนี้
  • 0 = vbBinaryCompare - ทำการเปรียบเทียบไบนารี (ค่าเริ่มต้น)
  • 1 = vbTextCompare - ทำการเปรียบเทียบข้อความ

ตัวอย่าง

เพิ่มปุ่มและตั้งค่าฟังก์ชันต่อไปนี้

ส่วนตัว Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1: " & InStrRev(var,"s",10)) msgbox("Line 2: " & InStrRev(var,"s",7)) msgbox ("บรรทัดที่ 3: " & InStrRev(var,"f",-1,1)) msgbox("บรรทัดที่ 4: " & InStrRev(var,"t",5)) msgbox("บรรทัดที่ 5: " & InStrRev( var,"i",7)) msgbox("Line 6: " & InStrRev(var,"i",7)) msgbox("Line 7: " & InStrRev(var,"VB",1)) สิ้นสุดย่อย

หลังจากรันสคริปต์ข้างต้นแล้ว มันจะสร้างผลลัพธ์ดังต่อไปนี้

บรรทัด 1:6
บรรทัด 2: 6
บรรทัด 3:8
เส้น 4:0
บรรทัด 5:2
บรรทัด 6:2
เส้น 7:0

ส่งคืนการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุ การค้นหาเกิดขึ้นจากขวาไปซ้าย

แอลเคเอส

ฟังก์ชัน LCase ส่งกลับสตริงหลังจากแปลงสตริงอินพุตเป็นตัวอักษรตัวพิมพ์เล็ก

ไวยากรณ์

Lcase (สตริง)

ตัวอย่าง

ส่วนตัว Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1: " & LCase(var)) var = "MS VBSCRIPT" msgbox("Line 2: " & LCase(var)) var = "microsoft" msgbox( "บรรทัดที่ 3: " & LCase(var)) สิ้นสุด Sub

บรรทัดที่ 1: microsoft vbscript
บรรทัดที่ 2: ms vbscript
บรรทัดที่ 3: ไมโครซอฟต์

ส่งกลับตัวพิมพ์เล็กของสตริงที่ระบุ

ยูเคส

ฟังก์ชัน UCase ส่งกลับสตริงหลังจากแปลงสตริงอินพุตเป็นตัวอักษร UPPER

ไวยากรณ์

UCase(สตริง)

ตัวอย่าง

เพิ่มปุ่มและวางฟังก์ชันต่อไปนี้ไว้ข้างใน

ส่วนตัว Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1: " & UCase(var)) var = "MS VBSCRIPT" msgbox("Line 2: " & UCase(var)) var = "microsoft" msgbox( "บรรทัดที่ 3: " & UCase(var)) สิ้นสุด Sub

หลังจากรันสคริปต์ข้างต้นแล้ว มันจะสร้างผลลัพธ์ดังต่อไปนี้

บรรทัดที่ 1: MICROSOFT VBSCRIPT
บรรทัดที่ 2: MS VBSCRIPT
บรรทัดที่ 3: ไมโครซอฟต์

ส่งกลับตัวพิมพ์ใหญ่ของสตริงที่ระบุ

ซ้าย

ฟังก์ชัน Left ส่งกลับจำนวนอักขระที่ระบุจากด้านซ้ายของสตริงอินพุตที่กำหนด

ไวยากรณ์

ซ้าย(เชือก, ความยาว)

คำอธิบายพารามิเตอร์

  • สตริงเป็นพารามิเตอร์ที่จำเป็น สตริงอินพุตที่ควรส่งคืนตามจำนวนอักขระที่ระบุทางด้านซ้าย
  • ความยาวเป็นพารามิเตอร์ที่จำเป็น จำนวนเต็มที่ระบุจำนวนอักขระที่จะส่งคืน

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

Private Sub Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1: " & Left(var,2)) var = "MS VBSCRIPT" msgbox("บรรทัด 2: " & ซ้าย(var,5) ) var = "microsoft" msgbox("Line 3: " & Left(var,9)) สิ้นสุดย่อย

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

บรรทัดที่ 1: มิ
บรรทัดที่ 2: MS VB
บรรทัดที่ 3: ไมโครซอฟต์

ส่งกลับจำนวนอักขระที่ระบุจากด้านซ้ายของสตริง

ขวา

ฟังก์ชัน Right ส่งคืนจำนวนอักขระที่ระบุจากด้านขวาของสตริงอินพุตที่กำหนด

ไวยากรณ์

ขวา(สตริง, ความยาว)

คำอธิบายพารามิเตอร์

  • สตริงเป็นพารามิเตอร์ที่จำเป็น สตริงอินพุตที่ควรส่งคืนตามจำนวนอักขระที่ระบุทางด้านขวา
  • ความยาวเป็นพารามิเตอร์ที่จำเป็น จำนวนเต็มที่ระบุจำนวนอักขระที่จะส่งคืน

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ส่วนตัว Sub Constant_demo_Click() var = "Microsoft VBScript" msgbox("Line 1: " & Right(var,2)) var = "MS VBSCRIPT" msgbox("Line 2: " & Right(var,5)) var = " microsoft" msgbox("บรรทัด 3: " & Right(var,9)) สิ้นสุด Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

บรรทัดที่ 1:pt
บรรทัดที่ 2: CRIPT
บรรทัดที่ 3: ไมโครซอฟต์

ส่งกลับจำนวนอักขระที่ระบุจากด้านขวาของสตริง

กลาง

ฟังก์ชัน Mid ส่งกลับจำนวนอักขระที่ระบุจากสตริงอินพุตที่กำหนด

ไวยากรณ์

กลาง(สตริง,เริ่มต้น[,ความยาว])

คำอธิบายพารามิเตอร์

  • สตริงเป็นพารามิเตอร์ที่จำเป็น สตริงอินพุตที่ระบุจำนวนอักขระที่จะส่งคืน
  • เริ่ม - พารามิเตอร์ที่จำเป็น จำนวนเต็มที่ระบุตำแหน่งเริ่มต้นของเส้น
  • ความยาวเป็นพารามิเตอร์ทางเลือก จำนวนเต็มที่ระบุจำนวนอักขระที่จะส่งคืน

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ค่าคงที่ย่อยส่วนตัว_demo_Click() Dim var as Variant var = "Microsoft VBScript" msgbox("Line 1: " & Mid(var,2)) msgbox("Line 2: " & Mid(var,2,5)) msgbox(" บรรทัดที่ 3: " & Mid(var,5,7)) สิ้นสุด Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

บรรทัดที่ 1: microsoft VBScript
บรรทัดที่ 2: icos
บรรทัดที่ 3:osoft V

ส่งกลับจำนวนอักขระที่ระบุจากสตริงตามพารามิเตอร์ที่ระบุ

Lทริม

ฟังก์ชัน Ltrim จะลบช่องว่างทางด้านซ้ายของสตริง

ไวยากรณ์

LTrim(สตริง)

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ส่วนตัวย่อย Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "After Ltrim: " & LTrim(var) End Sub

เมื่อคุณรันฟังก์ชัน มันจะสร้างเอาต์พุตต่อไปนี้

หลังจาก Ltrim: Microsoft VBScript

ส่งกลับสตริงหลังจากลบช่องว่างออกจากด้านซ้ายของสตริงที่ระบุ

RTrim

ฟังก์ชัน Rtrim จะลบช่องว่างทางด้านขวาของสตริง

ไวยากรณ์

RTrim(สตริง)

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ส่วนตัวย่อย Constant_demo_Click() Dim var as Variant var = "Microsoft VBScript " msgbox("After Rtrim: " & RTrim(var)) End Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

หลังจาก Rtrim: Microsoft VBScript

ส่งกลับสตริงหลังจากลบช่องว่างออกจากด้านขวาของสตริงที่ระบุ

ตัดแต่ง

ฟังก์ชัน Trim จะลบช่องว่างทั้งด้านหน้าและด้านหลังออกจากสตริงอินพุตที่กำหนด

ไวยากรณ์

ตัด (สตริง)

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ส่วนตัวย่อย Constant_demo_Click() var = "Microsoft VBScript" var = "Microsoft VBScript" msgbox ("After Trim: " & Trim(var)) End Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

หลังจากตัดแต่ง: Microsoft VBScript

ส่งกลับค่าสตริงหลังจากลบช่องว่างทั้งนำหน้าและต่อท้าย

เลน

ฟังก์ชัน Len ส่งกลับความยาวของสตริงอินพุตที่กำหนด รวมถึงการเว้นวรรคด้วย

ไวยากรณ์

เลน(สตริง)

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

Private Sub Constant_demo_Click() Dim var1 as Variant Dim var2 as Variant var1 ="Microsoft VBScript" msgbox("Length of var1 is: " & Len(var1)) var2 = " Microsoft VBScript " msgbox ("ความยาวของ var2 คือ: " & Len(var2)) จบย่อย

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

ความยาวของ var1 คือ: 18
ความยาวของ var2 คือ: 36

ส่งกลับความยาวของสตริงที่กำหนด

แทนที่

ฟังก์ชันแทนที่จะแทนที่ส่วนที่ระบุของสตริงด้วยสตริงที่ระบุตามจำนวนครั้งที่ระบุ

ไวยากรณ์

แทนที่(สตริง ค้นหา แทนที่ด้วย[,เริ่มต้น[,นับ[,เปรียบเทียบ]]])

คำอธิบายพารามิเตอร์

  • สตริงเป็นพารามิเตอร์ที่จำเป็น สตริงอินพุตที่จะค้นหาเพื่อแทนที่
  • ค้นหา - พารามิเตอร์ที่จำเป็น ส่วนของสตริงที่จะถูกแทนที่
  • แทนที่ด้วยเป็นพารามิเตอร์ที่จำเป็น สตริงการแทนที่ที่จะถูกแทนที่ด้วยพารามิเตอร์ find
  • Start เป็นพารามิเตอร์ทางเลือก ระบุตำแหน่งเริ่มต้นที่จะค้นหาและแทนที่สตริง ค่าเริ่มต้นคือ 1
  • จำนวนเป็นพารามิเตอร์ทางเลือก ระบุจำนวนครั้งที่ควรทำการเปลี่ยน
  • เปรียบเทียบ - พารามิเตอร์ทางเลือก ระบุวิธีการเปรียบเทียบที่จะใช้ ค่าเริ่มต้นคือ 0
  • 0 = vbBinaryCompare - ทำการเปรียบเทียบไบนารี
  • 1 = vbTextCompare - ทำการเปรียบเทียบข้อความ

ตัวอย่าง

Private Sub Constant_demo_Click() Dim var as Variant var = "นี่คือการเขียนโปรแกรม VBScript" "VBScript จะถูกแทนที่ด้วย MS VBScript msgbox("Line 1: " & แทนที่(var,"VBScript","MS VBScript")) "VB ถึง ถูกแทนที่ด้วย vb msgbox("บรรทัดที่ 2: " & แทนที่(var,"VB","vb")) ""is" แทนที่ด้วย ## msgbox("บรรทัดที่ 3: " & แทนที่(var,"is"," ##")) ""is" แทนที่ด้วย ## ละเว้นอักขระก่อนที่จะปรากฏครั้งแรก msgbox("Line 4: " &แทนที่(var,"is","##",5)) ""s" ถูกแทนที่ โดย ## สำหรับ 2 รายการถัดไป msgbox("Line 5: " & แทนที่(var,"s","##",1,2)) ""r" จะถูกแทนที่ด้วย ## สำหรับการเปรียบเทียบข้อความทั้งหมด msgbox("บรรทัดที่ 6: " & แทนที่(var,"r","##",1,-1,1)) ""t" ถูกแทนที่ด้วย ## สำหรับทุกเหตุการณ์ การเปรียบเทียบไบนารี msgbox("บรรทัดที่ 7: " & แทนที่(var,"t", "##",1,-1,0)) สิ้นสุดย่อย

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

บรรทัดที่ 1: นี่คือการเขียนโปรแกรม MS VBScript
บรรทัดที่ 2: นี่คือการเขียนโปรแกรม vbScript
บรรทัดที่ 3: Th## ## การเขียนโปรแกรม VBScript
บรรทัดที่ 4: ## การเขียนโปรแกรม VBScript
บรรทัดที่ 5: Thi## i## การเขียนโปรแกรม VBScript
บรรทัดที่ 6: นี่คือ VBSc##ipt P##og##amming
บรรทัดที่ 7: นี่คือการเขียนโปรแกรม VBScrip##

ส่งคืนสตริงหลังจากแทนที่สตริงด้วยสตริงอื่น

ช่องว่าง

ฟังก์ชัน Space จะเติมสตริงด้วยจำนวนช่องว่างที่ระบุ

ไวยากรณ์

ช่องว่าง(หมายเลข)

คำอธิบายพารามิเตอร์

หมายเลข - พารามิเตอร์ที่จำเป็น จำนวนช่องว่างที่เราต้องการเพิ่มในสตริงนี้

ตัวอย่าง

Sub ส่วนตัว Constant_demo_Click() Dim var1 as Variant var1 = "Microsoft" Dim var2 as Variant var2 = "VBScript" msgbox(var1 & Space(2)& var2) End Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

ไมโครซอฟต์ วีบีสคริปต์

เติมสตริงด้วยจำนวนช่องว่างที่ระบุ

StrComp

ฟังก์ชัน StrComp ส่งกลับค่าจำนวนเต็มหลังจากเปรียบเทียบสองสตริงที่กำหนด มันสามารถส่งคืนค่าใดก็ได้จากสามค่า -1, 0 หรือ 1 ตามสตริงอินพุตที่จะเปรียบเทียบ

  • ถ้า String1 น้อยกว่า String2 ดังนั้น StrComp จะส่งกลับ -1
  • ถ้า String1 เท่ากับ String2 ดังนั้น StrComp จะส่งกลับ 0
  • ถ้า String1 มากกว่า String2 ดังนั้น StrComp จะส่งกลับ 1

ไวยากรณ์

StrComp(string1,string2[,เปรียบเทียบ])

คำอธิบายพารามิเตอร์

  • String1 เป็นพารามิเตอร์ที่จำเป็น นิพจน์สตริงแรก
  • String2 เป็นพารามิเตอร์ที่จำเป็น นิพจน์สตริงที่สอง
  • เปรียบเทียบ - พารามิเตอร์ทางเลือก ระบุการเปรียบเทียบสตริง โดยสามารถรับค่าต่อไปนี้
  • 0 = vbBinaryCompare - ทำการเปรียบเทียบไบนารี (ค่าเริ่มต้น)
  • 1 = vbTextCompare - ทำการเปรียบเทียบข้อความ

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

Private Sub Constant_demo_Click() Dim var1 as Variant msgbox("Line 1:" & StrComp("Microsoft","Microsoft")) msgbox("Line 2:" &StrComp("Microsoft","MICROSOFT")) msgbox("สาย 3:" &StrComp("Microsoft","MiCrOsOfT")) msgbox("บรรทัดที่ 4:" &StrComp("Microsoft","MiCrOsOfT",1)) msgbox("บรรทัดที่ 5:" &StrComp("Microsoft","MiCrOsOfT" ,0)) สิ้นสุดหมวดย่อย

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

เส้น 1:0
บรรทัด 2:1
บรรทัด 3:1
เส้น 4:0
บรรทัด 5:1

ส่งกลับค่าจำนวนเต็มหลังจากเปรียบเทียบสองสตริงที่ระบุ

สตริง

ฟังก์ชัน String เติมสตริงด้วยอักขระที่ระบุตามจำนวนครั้งที่ระบุ

ไวยากรณ์

สตริง(ตัวเลข,ตัวอักษร)

คำอธิบายพารามิเตอร์

  • หมายเลข - พารามิเตอร์ที่จำเป็น ค่าจำนวนเต็มที่จะถูกทำซ้ำตามจำนวนครั้งที่ระบุโดยเทียบกับพารามิเตอร์อักขระ
  • สัญลักษณ์คือพารามิเตอร์ที่จำเป็น ค่าอักขระที่ต้องทำซ้ำตามจำนวนครั้งที่กำหนด

ตัวอย่าง

เพิ่มปุ่มและเพิ่มฟังก์ชันต่อไปนี้

ส่วนตัว Sub Constant_demo_Click() msgbox("Line 1:" & String(3,"$")) msgbox("Line 2:" & String(4,"*")) msgbox("Line 3:" & String(5,100 )) msgbox("บรรทัดที่ 4:" & String(6,"ABCDE")) สิ้นสุด Sub

เมื่อคุณรันฟังก์ชันข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้

บ่อยครั้งที่บรรทัดในโปรแกรมมีการเว้นวรรคโดยไม่จำเป็นที่ส่วนท้ายหรือจุดเริ่มต้นของบรรทัดซึ่งจำเป็นต้องลบออกเนื่องจาก ช่องว่างนำหน้าหรือต่อท้ายที่ไม่เกี่ยวข้องในบรรทัดอาจทำให้เกิดปัญหากับโปรแกรมได้

VBA มีฟังก์ชันสามรายการที่ออกแบบมาเพื่อลบช่องว่างนำหน้าและต่อท้ายออกจากสตริง: LTrim, RTrim, ทริม- โปรดทราบว่าฟังก์ชันเหล่านี้ไม่ได้แก้ไขสตริงต้นฉบับจริงๆ แต่จะส่งคืนสำเนาของสตริงโดยนำช่องว่างเพิ่มเติมออก

การกำหนดความยาวของสตริง

โดยทั่วไปคุณจำเป็นต้องทราบความยาวของสตริงเมื่อจัดรูปแบบข้อความสำหรับผู้ใช้หรือเมื่อจัดรูปแบบข้อมูลสตริงที่ป้อนโดยขั้นตอนลงในแผ่นงาน Excel หรือเอกสาร Word VBA ใช้ฟังก์ชันนี้เพื่อวัตถุประสงค์เหล่านี้ เลน- ในรายการด้านล่าง มีช่องว่างสองช่องระหว่างวงเล็บและคำ



คุณควรระวังสายที่มีความยาวคงที่ เนื่องจากสตริงที่มีความยาวคงที่จะมีความยาวเท่ากันเสมอ ฟังก์ชัน Len จะส่งกลับความยาวที่ประกาศของสตริงเสมอ โดยไม่คำนึงถึงความยาวจริงของสตริง ตัวอย่างเช่น ถ้าตัวแปรสตริงที่มีความยาวคงที่ StrokeName ซึ่งมีความยาว 15 อักขระ มีคำว่า "sun" อยู่จริง ฟังก์ชันดังกล่าว เลน(ชื่อโรคหลอดเลือดสมอง)จะส่งกลับผลลัพธ์ 15 ในกรณีนี้หากต้องการทราบความยาวจริงของสตริง (ในกรณีของเรา - 6) คุณต้องใช้ชุดฟังก์ชันต่อไปนี้: เลน(ทริม(ชื่อโรคหลอดเลือดสมอง)).

การเปรียบเทียบและค้นหาสตริง

VBA มีสองฟังก์ชันที่ช่วยคุณเปรียบเทียบสตริง: StrComp,InStr.

ฟังก์ชัน StrComp

ไวยากรณ์


StrComp(String1, String2[, เปรียบเทียบ])


String1, String2 - นิพจน์สตริงสองรายการใดๆ ที่ต้องเปรียบเทียบ

เมื่อดำเนินการ StrComp ค่าใดค่าหนึ่งต่อไปนี้จะถูกส่งกลับ:

  • -1 ถ้า String1 น้อยกว่า String2;
  • 0 ถ้า String1 และ String2 เท่ากัน
  • 1 ถ้า String1 มากกว่า String2


รายการด้านบนเปรียบเทียบสองสตริงในโหมดข้อความ: "สตริงเริ่มต้น" และ "สตริงเริ่มต้น" ผลการเปรียบเทียบ = 1 เช่น "สตริงเริ่มต้น" มากกว่า "สตริงเริ่มต้น"

ทดลองกับสตริงต่างๆ เพื่อทำความเข้าใจวิธีการทำงานของฟังก์ชัน StrComp ให้ดียิ่งขึ้น

ฟังก์ชั่น InStr

ฟังก์ชัน InStr ช่วยให้คุณกำหนดได้ว่าสตริงหนึ่งมีสตริงอื่นหรือไม่

ไวยากรณ์


StrComp(String1, String2[, เปรียบเทียบ])


String1, String2 - นิพจน์สตริงที่ถูกต้องใดๆ ฟังก์ชันตรวจสอบว่า String1 มีอยู่ใน String2 หรือไม่

เปรียบเทียบเป็นอาร์กิวเมนต์ทางเลือกที่สามารถเป็นค่าคงที่ที่กำหนดไว้ล่วงหน้าใดๆ ต่อไปนี้ (หากละไว้ ระบบจะใช้การตั้งค่าการเปรียบเทียบตัวเลือกปัจจุบัน):

  • vbBinaryCompare - การเปรียบเทียบไบนารีของสองสตริง
  • vbTextCompare - การเปรียบเทียบข้อความของสองสาย;
  • vbDatabaseCompare - ใช้ใน Microsoft Access เท่านั้น

Start - อาร์กิวเมนต์เผื่อเลือก คือนิพจน์ตัวเลขและระบุตำแหน่งของอักขระใน String1 ที่ควรเริ่มต้นการตรวจสอบ


InStr ส่งคืนตัวเลขที่ระบุตำแหน่งของอักขระใน String1 โดยที่พบ String2 ถ้า InStr ไม่พบ String2 ใน String1 ดังนั้น 0 จะถูกส่งกลับ ถ้า String1 (หรือ String2) เป็น Null ฟังก์ชันก็จะส่งคืน Null ด้วย



การแยกบรรทัด

บางครั้งจำเป็นต้องแยกสตริงออกเป็นส่วนต่างๆ ใน VBA มีสามฟังก์ชันที่ช่วยแก้ปัญหานี้: ซ้าย ขวา กลาง.

ฟังก์ชั่นด้านซ้าย

ไวยากรณ์


ซ้าย (สตริง, ความยาว)


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

ฟังก์ชั่นที่ถูกต้อง

ไวยากรณ์


ขวา (สตริง, ความยาว)


String คือนิพจน์สตริงที่ถูกต้อง

ความยาว - ค่าตัวเลขใดๆ


ฟังก์ชันส่งคืนสำเนาของสตริง โดยเริ่มจากอักขระตัวสุดท้ายและรวมจำนวนอักขระที่ระบุโดยความยาวจากขวาไปซ้าย ถ้าความยาวเป็นตัวเลขที่มากกว่าความยาวจริงของสตริง นิพจน์สตริงทั้งหมดจะถูกส่งกลับ ฟังก์ชัน Right จะคัดลอกอักขระจากจุดสิ้นสุดของสตริงไปยังจุดเริ่มต้นเสมอ

ฟังก์ชั่นกลาง

ไวยากรณ์


กลาง (สตริง, เริ่มต้น, [, ความยาว])


String คือนิพจน์สตริงที่ถูกต้อง

ความยาว เริ่มต้น - ค่าตัวเลขใดๆ


ฟังก์ชัน Mid ส่งกลับสำเนาของสตริงโดยเริ่มต้นที่ตำแหน่งอักขระในสตริงที่ระบุโดยอาร์กิวเมนต์ Start อาร์กิวเมนต์ความยาวที่เป็นทางเลือกระบุจำนวนอักขระที่จะคัดลอกจากสตริงถึงกลาง ถ้า Start มีจำนวนมากกว่าความยาวจริงของ String สตริงว่างจะถูกส่งกลับ



อักขระที่ไม่สามารถป้อนจากแป้นพิมพ์ได้

บ่อยครั้งคุณต้องป้อนอักขระที่ไม่มีแป้นบนแป้นพิมพ์ (เช่น สัญลักษณ์ลิขสิทธิ์) อีกสถานการณ์หนึ่งคือเมื่อคุณต้องการรวมสัญลักษณ์บริการ VBA ไว้ในสตริง (กรณีที่พบบ่อยที่สุดคือการรวมเครื่องหมายคำพูดคู่)

เมื่อต้องการรวมอักขระในสตริงที่ไม่สามารถป้อนจากคีย์บอร์ดได้ หรือที่มีความหมายพิเศษสำหรับ VBA ให้ใช้ฟังก์ชัน .

ไวยากรณ์


Chr (ชาร์โค้ด)


Charcode - นิพจน์ตัวเลขใด ๆ ที่เป็นรหัสที่ถูกต้องสำหรับชุดอักขระที่ใช้โดยคอมพิวเตอร์ ต้องเป็นจำนวนเต็มระหว่าง 0 ถึง 255

ฟังก์ชัน Chr รับโค้ดอักขระตัวเดียวเป็นอาร์กิวเมนต์ และส่งกลับสตริงที่มีอักขระที่สอดคล้องกับโค้ดนั้น ฟังก์ชั่นนี้ใช้ในรายการด้านบนเพื่อป้อนบรรทัดเมื่อแสดงข้อความบนหน้าจอ Chr (13)


เนื่องจากอักขระที่ใช้ในการขึ้นบรรทัดใหม่มีความสำคัญมากเมื่อจัดรูปแบบข้อความและข้อมูลสตริงอื่นๆ ที่จัดการโดยรูทีน VBA จึงมีค่าคงที่ที่กำหนดไว้ล่วงหน้าหลายค่าสำหรับอักขระเหล่านี้เพื่อหลีกเลี่ยงความจำเป็นในการใช้ฟังก์ชัน Chr:

  • vbCr เป็นอักขระส่งคืน เทียบเท่ากับ Chr(13)
  • vbLf - ชดเชยอักขระหนึ่งบรรทัด เทียบเท่ากับ Chr(10)
  • vbCrLf - การขึ้นบรรทัดใหม่ + อักขระออฟเซ็ตทีละหนึ่งบรรทัด เทียบเท่ากับ Chr(13)+ Chr(10)
  • vbTab - อักขระแท็บ เทียบเท่า Chr(9)

หากต้องการดูรายการ รหัสสัญลักษณ์คุณต้องเปิดระบบวิธีใช้ VBA และเมื่อมีการร้องขอ "ชุดตัวละคร"ตารางที่เกี่ยวข้องจะถูกนำเสนอ



การจัดรูปแบบค่าข้อมูล

บ่อยครั้งด้วยเหตุผลใดก็ตามรูปแบบข้อมูลที่เอาต์พุตของโปรแกรมไม่เหมาะกับเราอย่างสมบูรณ์ ปัญหานี้แก้ไขได้ด้วยฟังก์ชัน รูปแบบ.

ฟังก์ชันรูปแบบ VBA จะเหมือนกับฟังก์ชันรูปแบบใน Excel และใช้ตัวแทนการจัดรูปแบบข้อมูลเดียวกัน

ไวยากรณ์


รูปแบบ (นิพจน์ [, รูปแบบ[, วันแรกของสัปดาห์ [, สัปดาห์แรกของปี]]])


นิพจน์ - นิพจน์ที่ถูกต้องใดๆ (อาร์กิวเมนต์ที่จำเป็น)

รูปแบบคือนิพจน์ที่ถูกต้องของรูปแบบที่มีชื่อหรือที่ผู้ใช้กำหนด

Firstdayofweek เป็นค่าคงที่ที่ระบุวันแรกของสัปดาห์

Firstweekofyear - ค่าคงที่ที่กำหนดสัปดาห์แรกของปี


หากต้องการใช้ฟังก์ชันรูปแบบ คุณต้องทำอย่างใดอย่างหนึ่ง กำหนดรูปแบบที่กำหนดไว้ล่วงหน้า, หรือ สร้างภาพในรูปแบบเฉพาะโดยใช้อักขระตัวแทน


รูปแบบที่มีชื่อสำหรับใช้กับฟังก์ชันรูปแบบ

รูปแบบที่มีชื่อ การกระทำ
วันที่ทั่วไป จัดรูปแบบข้อมูลวันที่และเวลาให้เป็นหมายเลขวันที่ตามลำดับโดยใช้การตั้งค่ารูปแบบวันที่และเวลาสำหรับคอมพิวเตอร์ของคุณ
วันที่ยาวนาน จัดรูปแบบเฉพาะส่วนวันที่ให้เป็นวันที่ตามลำดับ โดยใช้การตั้งค่ารูปแบบวันที่แบบยาวของคอมพิวเตอร์
วันที่ปานกลาง จัดรูปแบบเฉพาะส่วนวันที่เป็นวันที่ตามลำดับ โดยใช้การตั้งค่ารูปแบบวันที่กลางของคอมพิวเตอร์ของคุณ
วันที่สั้น จัดรูปแบบเฉพาะส่วนที่มีวันที่ให้เป็นวันที่ตามลำดับ โดยใช้การตั้งค่าของคอมพิวเตอร์สำหรับรูปแบบวันที่แบบสั้น
เวลานาน จัดรูปแบบเฉพาะส่วนเวลาให้เป็นวันที่ตามลำดับ โดยใช้การตั้งค่ารูปแบบเวลานานของคอมพิวเตอร์
เวลาปานกลาง จัดรูปแบบเฉพาะส่วนเวลาให้เป็นวันที่ตามลำดับ โดยใช้การตั้งค่ารูปแบบเวลาปานกลางของคอมพิวเตอร์
ระยะเวลาอันสั้น จัดรูปแบบเฉพาะส่วนเวลาให้เป็นวันที่ตามลำดับ โดยใช้การตั้งค่าของคอมพิวเตอร์สำหรับรูปแบบเวลาสั้น
หมายเลขทั่วไป จัดรูปแบบตัวเลขให้เป็นสตริงโดยไม่มีอักขระพิเศษ
สกุลเงิน จัดรูปแบบตัวเลขด้วยสัญลักษณ์สกุลเงิน ตัวคั่นหลักพัน และทศนิยมสองตำแหน่งเท่านั้น
ที่ตายตัว จัดรูปแบบตัวเลขให้มีอย่างน้อยหนึ่งหลักก่อนจุดทศนิยมและอย่างน้อยสองหลักหลังจากนั้น
มาตรฐาน จัดรูปแบบตัวเลขด้วยตัวคั่นหลักพันเพื่อให้มีอย่างน้อยหนึ่งหลักก่อนตัวคั่นทศนิยมและอย่างน้อยสองหลักหลังจากนั้น
เปอร์เซ็นต์ จัดรูปแบบตัวเลขเป็นเปอร์เซ็นต์โดยการคูณด้วย 100 แล้วบวกสัญลักษณ์เปอร์เซ็นต์
ทางวิทยาศาสตร์ จัดรูปแบบตัวเลขให้เป็นรูปแบบเลขชี้กำลังปกติ
ใช่ไม่ใช่ สตริง "ใช่" จะถูกส่งกลับหากตัวเลขที่จัดรูปแบบไม่เป็นศูนย์ มิฉะนั้น - "ไม่ใช่"
ถูกผิด สตริง "True" จะถูกส่งกลับหากตัวเลขที่จัดรูปแบบไม่เป็นศูนย์ มิฉะนั้น - "False"
เปิดปิด สตริง "เปิด" จะถูกส่งกลับหากตัวเลขที่จัดรูปแบบไม่เป็นศูนย์ มิฉะนั้น - "ปิด"

ตัวยึดตำแหน่งสำหรับการสร้างรูปแบบที่กำหนดเอง

อักขระตัวยึดตำแหน่ง การดำเนินการ (ใช้หมายเลข 1234.45 เป็นตัวอย่าง)
0 อักขระตัวเลขที่แสดงตัวเลขหากอยู่ในตำแหน่งนั้น หรือ 0 หากไม่อยู่ในตำแหน่งนั้น คุณสามารถใช้สัญลักษณ์ 0 เพื่อแสดงศูนย์นำหน้าสำหรับจำนวนเต็ม และศูนย์ต่อท้ายสำหรับทศนิยม: 00000.000 แสดง 01234.450
# สัญลักษณ์ตัวเลขจะแสดงตัวเลขหากมีอยู่ในตำแหน่งนี้ มิฉะนั้นจะไม่แสดงอะไรเลย อักขระตัวเติม # เทียบเท่ากับ 0 ยกเว้นว่าศูนย์นำหน้าและต่อท้ายจะไม่แสดง: #####.### แสดง 1234.45
$ แสดงเครื่องหมายดอลลาร์: $###,###.00 แสดง $1,234.45
. อักขระตัวยึดตำแหน่งทศนิยม แสดงจุดทศนิยมที่ตำแหน่งที่กำหนดในสตริงอักขระตัวยึดตำแหน่ง 0: #.##.## แสดง 1234.45
% สัญลักษณ์เปอร์เซ็นต์ คูณค่าด้วย 100 และเพิ่มเครื่องหมายเปอร์เซ็นต์ที่ตำแหน่งที่ระบุโดยตัวยึดตำแหน่ง 0:#.#0.00% จะแสดงตัวเลข 0.12345 เป็น 12.35% (เกิดการปัดเศษ)
, ตัวคั่นหลักพัน เพิ่มเครื่องหมายจุลภาคเป็นตัวคั่นหลักพันในสตริงตัวยึดตำแหน่ง 0 และ #: ###,###,###.00 แสดง 1,234.45
อี-อี- แสดงค่าในรูปแบบเลขชี้กำลังพร้อมเลขชี้กำลังสำหรับค่าลบเท่านั้น: #.####E-00 แสดง 1.23445E03
อี+ อี+ แสดงค่าในรูปแบบเลขชี้กำลังพร้อมเลขชี้กำลังสำหรับทั้งค่าลบและค่าบวก: #.####E+00 แสดง 1.23445E+03
/ แยกวัน เดือน และปีเพื่อจัดรูปแบบค่าวันที่
ระบุวิธีการแสดงเดือนในวันที่: m แสดง 1, mm - 01, mmm - Jan, mmmm - มกราคม
ระบุวิธีแสดงวันในวันที่: d แสดง 1, dd - 01, ddd - Sun, dddd - Sunday
แสดงวันของปีเป็นตัวเลขตั้งแต่ 1 ถึง 366
ใช่ ระบุวิธีแสดงปีในวันที่: yy - 66, yyyy - 1966
ถาม แสดงไตรมาสของปีเป็นตัวเลขตั้งแต่ 1 ถึง 4
แสดงวันในสัปดาห์เป็นตัวเลข (1 - วันอาทิตย์)
www แสดงสัปดาห์ของปีเป็นตัวเลขตั้งแต่ 1 ถึง 54
: แยกชั่วโมง นาที และวินาทีในรูปแบบค่าเวลา: hh:mm:ss - 01:01:01, h:m:s - 1:1:1
ชม. ระบุวิธีแสดงชั่วโมง: hh - 01, h - 1
ระบุวิธีการแสดงนาที: mm - 01, m - 1
ระบุวิธีการแสดงวินาที: ss - 01, s - 1
เช้า/บ่าย แสดงเวลาในรูปแบบเวลา 12 ชั่วโมงโดยเพิ่ม AM หรือ PM
@ ตัวยึดอักขระที่แสดงช่องว่างหากไม่มีอักขระที่ตรงกันในสตริงที่จัดรูปแบบ
แสดงอักขระทั้งหมดเป็นตัวพิมพ์ใหญ่
> แสดงอักขระทั้งหมดเป็นตัวพิมพ์เล็ก

ในบทความนี้เราจะดูสั้น ๆ เกี่ยวกับฟังก์ชันสตริงของภาษา VBA ซึ่งใช้ในการจัดรูปแบบสตริงและยังช่วยให้คุณสามารถเปลี่ยนตัวพิมพ์ของอักขระแสดงค่าสตริงด้วยโค้ดและอื่น ๆ

ASC (ค่าสตริง)– ใช้เพื่อรับรหัส ASCII ตัวเลขของอักขระที่กำหนด คุณสามารถส่งทั้งสตริงเป็นพารามิเตอร์ (การตรวจสอบจะเกิดขึ้นสำหรับอักขระตัวแรกในสตริง) หรืออักขระตัวเดียวหรือเว้นวรรค

Chr (รหัสอักขระ)– ทำงานในลำดับย้อนกลับเมื่อเทียบกับฟังก์ชันก่อนหน้า เราส่งรหัส ASCII เป็นพารามิเตอร์ และที่เอาต์พุต เราได้รับอักขระตามรหัสที่กำหนด ฟังก์ชันสตริงนี้มีความเกี่ยวข้องในกรณีที่คุณจำเป็นต้องแสดงอักขระบริการ เช่น เครื่องหมายคำพูด แม้ว่าจะใช้ค่าคงที่ VBA ที่ตั้งชื่อบ่อยกว่าก็ตาม

InStr(line1, line2, [เริ่มต้น])– ออกแบบมาเพื่อค้นหาลำดับอักขระ (line2) ในสตริงที่กำหนด (line1) คุณยังสามารถระบุตำแหน่งเริ่มต้นสำหรับการค้นหาเหตุการณ์ที่เกิดขึ้นได้ (พารามิเตอร์ “เริ่มต้น” ที่เป็นทางเลือก)

InStrRev(line1, line2, [เริ่ม])– คล้ายกับฟังก์ชั่นก่อนหน้า แต่การค้นหาเกิดขึ้นในลำดับย้อนกลับ

ซ้าย (สตริง, ความยาว)– ช่วยให้คุณสามารถส่งคืนอักขระตามจำนวนที่ระบุ (พารามิเตอร์ "ความยาว") สำหรับบรรทัดที่เลือก (พารามิเตอร์ "สตริง") โดยเริ่มจากด้านซ้าย

ขวา (สตริง, ความยาว)– ช่วยให้คุณสามารถส่งคืนอักขระตามจำนวนที่ระบุสำหรับบรรทัดที่เลือกโดยเริ่มจากด้านขวา

กลาง (สายอักขระ ความยาว จุดเริ่มต้น)– ช่วยให้คุณสามารถส่งคืนอักขระตามจำนวนที่ระบุ (พารามิเตอร์ "ความยาว") สำหรับบรรทัดที่เลือก โดยเริ่มจากตำแหน่งที่ระบุ พารามิเตอร์ ("เริ่มต้น")

เลน (สตริง)– กำหนดจำนวนอักขระเป็นตัวเลขในบรรทัด

Lกรณี (สตริง)– ออกแบบมาเพื่อแปลงอักขระทั้งหมดในสตริงที่ส่งให้เป็นตัวพิมพ์เล็ก

UCase (สตริง)– ได้รับการออกแบบมาเพื่อแปลงอักขระทั้งหมดในสตริงที่ส่งให้เป็นตัวพิมพ์ใหญ่

LSet(สตริง, ความยาว)– เติมเนื้อหาของตัวแปรด้วยอักขระจากตัวแปรอื่นโดยเริ่มจากด้านซ้าย ความยาวไม่เปลี่ยนแปลง อักขระพิเศษจะถูกตัดออก และช่องว่างจะถูกแทนที่ด้วยอักขระที่หายไป

RSet(สตริง, ความยาว)– ตรรกะการทำงานจะเหมือนกับฟังก์ชัน VBA ก่อนหน้าสำหรับการทำงานกับสตริง แต่กระบวนการเกิดขึ้นทางด้านขวา

LTrim (สตริง)– ลบช่องว่างด้านซ้ายในบรรทัด

RTrim (สตริง)– ลบช่องว่างทางด้านขวาของบรรทัด

ตัดแต่ง (สตริง)– ลบช่องว่างด้านขวาและซ้ายในบรรทัด

แทนที่()– แทนที่อักขระบางตัวในสตริงด้วยอักขระอื่น

พื้นที่ (จำนวนช่องว่าง)– สร้างสตริงจากจำนวนช่องว่างที่ระบุ

สตริง (นับ, ตัวอักษร)– การสร้างสตริงจากอักขระที่เขียนตามจำนวนที่กำหนด

เอสพีซี()– ใช้เพื่อสร้างเอาต์พุตข้อมูลในหน้าต่างคอนโซลบรรทัดคำสั่ง ช่องว่างจะถูกคูณตามความกว้างของบรรทัดคำสั่ง

StrComp (บรรทัด 1, บรรทัด 2)– การเปรียบเทียบสองสตริง ส่งคืน 0 หากเท่ากัน และหากเป็นอย่างอื่น -1

StrConv(สตริง, วิธีการ, )– ฟังก์ชัน VBA นี้เป็นฟังก์ชันสากล เนื่องจากช่วยให้คุณสามารถแปลงสตริงที่กำหนดเป็นรูปแบบต่างๆ ได้ (ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก การเข้ารหัส การแปลไบต์)

  • เส้น– จริงๆ แล้วคือค่าสตริงที่ต้องดำเนินการแปลง
  • วิธี– ระบุวิธีการแปลง พารามิเตอร์นี้สามารถรับค่าต่อไปนี้:
  1. vbUpperCase– การแปลงเป็นตัวพิมพ์ใหญ่ ค่า 1
  2. vbตัวพิมพ์เล็ก– การแปลงเป็นตัวพิมพ์เล็ก ค่า 2
  3. vbPropperCase– แปลงอักขระตัวแรกของทุกคำเป็นตัวพิมพ์ใหญ่ และอักขระที่เหลือเป็นตัวพิมพ์เล็ก ค่า 3
  4. vbWide– ใช้สำหรับการเข้ารหัสภาษาตะวันออก การแปลงอักขระเป็นหนึ่งไบต์จากไบต์คู่ คุณค่าที่ 4
  5. vbแคบ– คล้ายกับพารามิเตอร์ก่อนหน้า แต่ที่นี่สองไบต์จะถูกแปลงเป็นหนึ่งค่า 8
  6. vbคาตาคานะ– ตัวอักษรของตัวอักษรฮิระงะนะจะถูกแปลงเป็นตัวอักษรของตัวอักษรคะตะนะใช้ได้กับภาษาญี่ปุ่น ค่า 16
  7. vbฮิระงะนะ– คล้ายคลึงกับพารามิเตอร์ก่อนหน้า แต่ในที่นี้จะมีการแปลงประเภท Katana เป็น Hiragana ค่า 32 ฟังก์ชันสตริง VBA
  8. vbUnicode– แปลงสตริงที่กำหนดเป็นการเข้ารหัส Unicode ค่า 64
  9. vbFormatUnicode.vb– การแปลงจาก Unicode เป็นการเข้ารหัสมาตรฐาน ค่า 128
  • แอลซีดี– พารามิเตอร์เป็นทางเลือก (ฟังก์ชันสตริง vba) โดยจะระบุตัวระบุการตั้งค่าภูมิภาค ค่าเริ่มต้นคือ LocaleId นั่นคือค่าที่ตั้งค่าไว้ในแผงควบคุม

StrReverse (สตริง)– สลับการจัดเรียงอักขระในบรรทัด หรืออีกนัยหนึ่งคือ “กระจกเงา”

ในส่วนของคำถาม People โปรดอธิบายโดยละเอียดว่าฟังก์ชัน ord(x) และฟังก์ชันผกผัน chr(x) หมายถึงอะไรในภาษา Pascal มอบให้โดยผู้เขียน นิค บราวน์คำตอบที่ดีที่สุดคือ มีตารางอักขระพิเศษ (ขยายโค้ด ASCII เมื่ออักขระแต่ละตัวมีค่าตัวเลข ในตารางจะมีค่าทั้งหมด 255 ค่า กล่าวคือ อักขระแต่ละตัวจะถูกกำหนดตัวเลข
chr(0..254) แปลงตัวเลข (หนึ่งไบต์) ให้เป็นอักขระที่มีหมายเลขนี้อยู่ ตัวอย่างเช่น chr(71) ผลลัพธ์จะเป็นตัวอักษร "G" และการกดแป้นบนแป้นพิมพ์จะสร้างรหัสของตัวเอง นี่คือโค้ดเมื่อใส่ไว้ในโอเปอเรเตอร์นี้ทุกประการ และจะแสดงผลลัพธ์ของการกดปุ่มใด เช่น ฉันเอง แต่ตัวดำเนินการ ORD(x) จะทำกระบวนการนี้ในลำดับย้อนกลับ
เราตั้งค่าอักขระและรับตัวเลขตั้งแต่ 0 ถึง 254 (หนึ่งไบต์)
เช่น ORD("G") จะให้ผลลัพธ์ 71 (ในรูปแบบทศนิยม)
เท่าที่เห็น!!!

คำตอบจาก คัทโยนาชิก[มือใหม่]
มันง่ายจริงๆ)
Ord ("X") - จะส่งคืนรหัสของอักขระ X จากตาราง ASKII
ผลลัพธ์ของฟังก์ชันผกผันจะเป็นสัญลักษณ์ที่สอดคล้องกับโค้ดที่ป้อน (ซึ่งใช้ฟังก์ชันนี้) จากตาราง ASCII เดียวกัน


คำตอบจาก จูริ[คุรุ]
สิ่งเหล่านี้ไม่ใช่ฟังก์ชันซึ่งกันและกัน!
ฟังก์ชัน Ord ส่งกลับค่าลำดับของประเภทที่แจกแจง
การนับเริ่มต้นจากศูนย์
สำหรับประเภทไบต์ ฟังก์ชันจะส่งคืนค่าจริง - เลขลำดับจะตรงกับค่า
สำหรับประเภทถ่าน ฟังก์ชันจะส่งกลับหมายเลขซีเรียลของอักขระ ซึ่ง (ตัวเลขจะเป็นแบบสุ่ม) ตรงกับรหัส ASCII
ฟังก์ชัน chr ส่งคืนอักขระด้วยรหัส ASCII ที่กำหนด
บทสรุป: พูดง่ายๆ ก็คือ เมื่อคำนึงถึงคุณค่าเชิงสัญลักษณ์แล้ว ค่านิยมเหล่านี้ทำงานในลักษณะผกผันซึ่งกันและกัน...
ดังนั้นเราจึงสามารถพูดได้ว่าฟังก์ชัน ord เป็นสิ่งที่ตรงกันข้ามกับฟังก์ชัน chr แต่ไม่ใช่ในทางกลับกัน - ฟังก์ชัน chr ไม่ใช่สิ่งที่ตรงกันข้ามกับฟังก์ชัน ord เนื่องจากขอบเขตของฟังก์ชัน ord ไม่ได้จำกัดอยู่แค่การทำงานกับสัญลักษณ์เท่านั้น!