Π Π°Π·Π½ΠΎΠ΅

Len vba: Ѐункция Len (Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Ѐункция Len (Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)



  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт Long, содСрТащий число символов Π² стокС ΠΈΠ»ΠΈ число Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Returns a Long containing the number of characters in a string or the number of bytes required to store a variable.

БинтаксисSyntax

Len(строковый | имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ)Len(string | varname)

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов:The Len function syntax has these parts:

Π§Π°ΡΡ‚ΡŒPartОписаниСDescription
строкаstringΠ›ΡŽΠ±ΠΎΠ΅ допустимоС строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.Any valid string expression. Если строка содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL, возвращаСтся NULL.If string contains Null, Null is returned.
varnamevarnameΠ›ΡŽΠ±ΠΎΠ΅ допустимоС имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Any valid variable name. Если varname содСрТит Null, возвращаСтся Null.If varname contains Null, Null is returned. Если varname β€” Variant, функция Len ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ этот элСмСнт Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ String, ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ содСрТит.If varname is a Variant, Len treats it the same as a String and always returns the number of characters it contains.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡRemarks

Π”ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΎΠ΄ΠΈΠ½ (ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½) ΠΈΠ· Π΄Π²ΡƒΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². One (and only one) of the two possible arguments must be specified. ΠŸΡ€ΠΈ использовании с опрСдСляСмыми ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ функция Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ записан Π² Ρ„Π°ΠΉΠ».With user-defined types, Len returns the size as it will be written to the file.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LenB с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, содСрТащимися Π² строкС, ΠΊΠ°ΠΊ Π² языках с Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.Use the LenB function with byte data contained in a string, as in double-byte character set (DBCS) languages. ВмСсто числа символов Π² строкС функция LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для прСдставлСния этой строки.Instead of returning the number of characters in a string, LenB returns the number of bytes used to represent that string. ΠŸΡ€ΠΈ использовании с опрСдСляСмыми ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ функция LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ памяти, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ любоС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.With user-defined types, LenB returns the in-memory size, including any padding between elements. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ LenB, см. Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².For sample code that uses LenB, see the second example in the example topic.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Len ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ фактичСскоС число Π±Π°ΠΉΡ‚ΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈ использовании со строками ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π² опрСдСляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….Len may not be able to determine the actual number of storage bytes required when used with variable-length strings in user-defined data types.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Example

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Len для возвращСния числа символов Π² строкС ΠΈΠ»ΠΈ числа Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.The first example uses Len to return the number of characters in a string or the number of bytes required to store a variable. **Π’ΠΈΠΏ… **ΠŸΠ΅Ρ€Π΅Π΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ CustomerRecord Π±Π»ΠΎΠΊΠ° End Type Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Private , Ссли ΠΎΠ½ΠΎ отобраТаСтся Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ класса.The Type…End Type block defining CustomerRecord must be preceded by the keyword Private if it appears in a class module. Π’ стандартном ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Type ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Public.In a standard module, a Type statement can be Public.

Type CustomerRecord    ' Define user-defined type.
    ID As Integer    ' Place this definition in a 
    Name As String * 10    ' standard module.
    Address As String * 30
End Type

Dim Customer As CustomerRecord    ' Declare variables.
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World"    ' Initialize variable.
MyLen = Len(MyInt)    ' Returns 2.
MyLen = Len(Customer)    ' Returns 42.
MyLen = Len(MyString)    ' Returns 11.
MyLen = Len(MyCur)    ' Returns 8.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LenB ΠΈ опрСдСляСмая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ функция (LenMbcs) для возвращСния символов ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² строкС, Ссли ANSI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния строки.The second example uses LenB and a user-defined function (LenMbcs) to return the number of byte characters in a string if ANSI is used to represent the string.

Function LenMbcs (ByVal str as String)
    LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function

Dim MyString, MyLen
MyString = "ABc"
' Where "A" and "B" are DBCS and "c" is SBCS.
MyLen = Len(MyString)
' Returns 3 - 3 characters in the string.
MyLen = LenB(MyString)
' Returns 6 - 6 bytes used for Unicode.
MyLen = LenMbcs(MyString)
' Returns 5 - 5 bytes used for ANSI.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅See also

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ обратная связьSupport and feedback

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Office VBA ΠΈΠ»ΠΈ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ?Have questions or feedback about Office VBA or this documentation? Руководство ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ способам получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Office VBA ΠΈ обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.



ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк — VBA

Π‘Ρ‚Ρ€ΠΎΠΊΠ° β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ константами. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ строками.

Π’ VBA сущСствуСт нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк. Mid(Π²Ρ‹Ρ€Π΅Π·ΠΊΠ°), Len (Π΄Π»ΠΈΠ½Π°), InStr(поиск), Left (Π²Ρ‹Ρ€Π΅Π·ΠΊΠ° слСва), Right (Π²Ρ‹Ρ€Π΅Π·ΠΊΠ° справа), Trim (ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ слСва ΠΈ справа), StrComp (сравнСниС строк) ΠΈ Π΄Ρ€.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк.

Π—Π°Π΄Π°Ρ‡Π°: Π’ строкС ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Ρ†ΠΈΡ„Ρ€.

РСшСниС:

  Sub ΠΏΡ€ΠΈΠΌΠ΅Ρ€_str_4()
  Dim Mystring, char
  Dim i, n
  Mystring = InputBox("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ строку")
  n = 0
  For i = 1 To Len(Mystring)
  char = Mid(Mystring, i, 1)
  If char >= "0" And char <= "9" Then n = n + 1
  Next i
  MsgBox n
  End Sub

Ѐункция Mid

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid:

Mid(Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ_позиция[, Π”Π»ΠΈΠ½Π°])

Ѐункция Mid Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π΅Π·ΠΊΡƒ ΠΈΠ· строки Π‘Ρ‚Ρ€ΠΎΠΊΠ°, начиная со ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ_позиция, длиною Π”Π»ΠΈΠ½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  Sub ΠΏΡ€ΠΈΠΌΠ΅Ρ€_mid()
  Dim MyString, Word1, Word2, Word3
  MyString = "Π”Π΅ΠΌΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid"
  Word1 = Mid(MyString, 1, 4) ' Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "Π”Π΅ΠΌΠΎ"
  MsgBox Word1
  Word2 = Mid(MyString, 14, 3) ' Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "Mid"
  MsgBox Word2
  Word3 = Mid(MyString, 6) ' Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid"
  MsgBox Word3
  End Sub

Ѐункция Len

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len:

Len (Π‘Ρ‚Ρ€ΠΎΠΊΠ°)

Ѐункция Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки Π‘Ρ‚Ρ€ΠΎΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  Sub ΠΏΡ€ΠΈΠΌΠ΅Ρ€_len()
  Dim MyString
  Dim Π”Π»ΠΈΠ½Π°
  MyString = "Π”Π΅ΠΌΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len"
  Π”Π»ΠΈΠ½Π° = Len(MyString)
  MsgBox Π”Π»ΠΈΠ½Π°
  End Sub

Ѐункция InStr

ΠžΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ InStr:

InStr([Π½Π°Ρ‡_позиция, ]Π‘Ρ‚Ρ€ΠΎΠΊΠ°1, Π‘Ρ‚Ρ€ΠΎΠΊΠ°2[, ΠžΠΏΡ†ΠΈΡ_1_ΠΈΠ»ΠΈ_0])

Ѐункция InStr Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния Π² строкС Π‘Ρ‚Ρ€ΠΎΠΊΠ°1 строки Π‘Ρ‚Ρ€ΠΎΠΊΠ°2, начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Нач_позиция.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

  Sub ΠΏΡ€ΠΈΠΌΠ΅Ρ€_instr()
  Dim Mystring
  Mystring = "Π“Π΄Π΅ Вася"
  Π½ΠΎΠΌΠ΅Ρ€ = InStr(Mystring, "Вася") ' Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 5
  MsgBox Π½ΠΎΠΌΠ΅Ρ€
  End Sub

VBA Π”Π»ΠΈΠ½Π° строки | Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строку Π΄Π»ΠΈΠ½Ρ‹ Excel VBA с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π»ΠΈΠ½Π° строки VBA?

VBA Len являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Ѐункция VBA LEN Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² прСдоставлСнной строкС, Ρ‚.Π΅. для измСрСния Π΄Π»ΠΈΠ½Ρ‹ тСкста ΠΈΠ»ΠΈ количСства символов Π² тСкстС. VBA LEN относится ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ String. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA. Он часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция наряду с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ строковыми функциями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ MID, RIGHT, Ρ‚. Π•. Для извлСчСния частСй ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Бинтаксис VBA Π”Π»ΠΈΠ½Π° строки Π² Excel

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA Length of String Π² Excel выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ПослС Π²Π²ΠΎΠ΄Π° LEN Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π», появится Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ синтаксис, Π³Π΄Π΅ ΠΎΠ½ содСрТит ниТСупомянутый Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ°: это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ тСкстовая строка ΠΈΠ»ΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ.

Ρ‚.Π΅. Len (Β«Π”Π»ΠΈΠ½Π°Β») = Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° тСкста Β«Π”Π»ΠΈΠ½Π°Β» Ρ€Π°Π²Π½Π° 6. Если Π²Ρ‹ Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² качСствС Variant вмСсто long, Ρ‚ΠΎ ΠΎΠ½Π° считаСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ строка. Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΊΠ°ΠΊ String.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Excel VBA?

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π΄Π»ΠΈΠ½Ρ‹ строки Π² Excel с использованиСм ΠΊΠΎΠ΄Π° VBA.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ этот шаблон VBA Π”Π»ΠΈΠ½Π° строки Excel здСсь — VBA Π”Π»ΠΈΠ½Π° шаблона Excel строки

Π”Π»ΠΈΠ½Π° строки VBA — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 1

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Π»ΠΈΠ½Ρ‹ строки Π² Excel VBA.

Π¨Π°Π³ 1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β« Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Β» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Visual Basic .

Π¨Π°Π³ 2: ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ· мСню «Вставка», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π¨Π°Π³ 3: Под ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Microsoft Excel Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ лист 1 ( VB_LEN ) Π’ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠœΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ пустой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

Π”Π»ΠΈΠ½Π° строки VBA — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 2

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ мСня Π΅ΡΡ‚ΡŒ слово Β«NULL Β», ΠΈ я Ρ…ΠΎΡ‡Ρƒ ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство символов Π² этой тСкстовой строкС, Ρ‚. Π•. Для этого, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°ΠΊΡ€ΠΎ-ΠΊΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VB LEN, я ΠΌΠΎΠ³Ρƒ это Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ.

Π¨Π°Π³ 1: Π’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ VBA послС Π²Π²ΠΎΠ΄Π° Sub Ρƒ мСня Π΅ΡΡ‚ΡŒ имя LENGTH ()

 Sub LENGTH () End Sub 

Π¨Π°Π³ 2: ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ функция VBA LEN ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎ строковому Ρ‚ΠΈΠΏΡƒ, DIM (ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ VBA для объявлСния ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π΅Π΅ Ρ‚ΠΈΠΏΠ°. Π’ VBA Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ всСгда ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ настраиваСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π­Ρ‚ΠΎ дСлаСтся (Π² основном) словом Dim.

DIM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ выдСлСния памяти для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Бинтаксис: Dim ( Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ) ΠΊΠ°ΠΊ ( Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ )

Код:

 Sub LENGTH () Dim L As Variant End Sub 

Π¨Π°Π³ 3: ПослС объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ присвойтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN.

Код:

 Sub LENGTH () Dim L As Variant L = Len (ΠšΠΎΠ½Π΅Ρ† Sub 

Π¨Π°Π³ 4: ПослС Π²Π²ΠΎΠ΄Π° LEN ΠΈ наТатия Π½Π° ΠΏΡ€ΠΎΠ±Π΅Π», ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ скобку, Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ синтаксис появляСтся для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘Ρ‚Ρ€ΠΎΠΊΠ°: это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ тСкстовая строка ΠΈΠ»ΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ, Ρ‚.Π΅. Β«Π”Π›Π˜ΠΠΒ»

Код:

 Sub LENGTH () Dim L As Variant L = Len ("LENGTH") MsgBox L End Sub 

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN . Π’Π΅ΠΏΠ΅Ρ€ΡŒ я Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ этот Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len Π² ΠΎΠΊΠ½Π΅ сообщСния. Π·Π°Ρ‚Π΅ΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΊΠΎΠ΄Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°ΠΆΠΌΠ΅ΠΌ Ctrl + ΠŸΡ€ΠΎΠ±Π΅Π», Π½Π°Π±ΠΈΡ€Π°Π΅ΠΌ MsgBox, послС этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π¨Π°Π³ 5: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄ Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ это сдСлаСтС, появится Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сообщСниС с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Β«6Β», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство символов Π² прСдоставлСнной строкС ΠΈΠ»ΠΈ тСкстС (Π΄Π»ΠΈΠ½Π°)

Π”Π»ΠΈΠ½Π° строки VBA — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 3

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вмСсто Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΎΠΊΠ½Π΅ сообщСния, я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π½Π° листС. На листС Ρƒ мСня Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚.Π΅. ΡˆΡ‚Π°Ρ‚ БША Π² ячСйкС Β«A4Β», Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я Ρ…ΠΎΡ‡Ρƒ ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство символов Π² тСкстовой строкС состояния, здСсь я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Len с нСбольшим ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ΄Π΅.

Π¨Π°Π³ 1: ПослС объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ снова ввСсти имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ адрСс ячСйки полнотСкстовой строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Range ΠΈΠ»ΠΈ cell.

Код:

 Sub TEXT_LENGTH () Dim L As Variant L = Range ("A4") End Sub 

Π¨Π°Π³ 2: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠ½Π΅ снова Π½ΡƒΠΆΠ½ΠΎ ввСсти имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN ΠΈ ввСсти Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.

Код:

 Sub TEXT_LENGTH () Dim L As Variant L = Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4") L = Len ("ΠœΠ°ΡΡΠ°Ρ‡ΡƒΡΠ΅Ρ‚Ρ") End Sub 

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π²Π²Π΅Π»ΠΈ ΠΏΠΎΠ»Π΅ msg для отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ отобраТался Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ячСйкС Π½Π° листС. для этого ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ввСсти Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ячСйки для отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π¨Π°Π³ 3: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, сначала ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ввСсти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈΠ»ΠΈ ячСйки, Π° Π·Π°Ρ‚Π΅ΠΌ ввСсти имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйкС (Β«B4Β») появился Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Код:

 Sub TEXT_LENGTH () Dim L As Variant L = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A4") L = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Len ("ΠœΠ°ΡΡΠ°Ρ‡ΡƒΡΠ΅Ρ‚Ρ") ("B4"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = L End Sub 

Π¨Π°Π³ 4: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄ Π³ΠΎΡ‚ΠΎΠ², я ΠΌΠΎΠ³Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5. ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я это сдСлаю, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ Π² ячСйкС Β«B4Β», Ρ‚.Π΅. 13, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство символов Π² прСдоставлСнной строкС ΠΈΠ»ΠΈ тСкстС.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ

  • Помимо Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN, LenB ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния ΠΈΠ»ΠΈ опрСдСлСния фактичСского количСства Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² для прСдоставлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² памяти.
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π­Ρ‚ΠΎ руководство ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обсудим, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Π»ΠΈΠ½Ρ‹ строки VBA Π² Excel вмСстС с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ шаблоном Excel. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ наши Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ —

  1. ПолноС руководство ΠΏΠΎ VBA Workbook
  2. ΠΠ•ΠŸΠ ΠΠ’Π˜Π›Π¬ΠΠΠ― функция Π² Excel
  3. Ѐункция подсчСта VBA
  4. Ѐункция Excel XOR

VBA Ѐункция Len — CodeRoad

Π£ мСня Π΅ΡΡ‚ΡŒ этот ΠΊΠΎΠ΄ Π² VBA:

For x = 4 To 3918
    If InStr(Cells(x, 2), "LW") Then
        numToFind = Cells(x, 1)
        For y = 4 To 3918
            If Cells(y, 1) = numToFind Then
                Cells(y, 1).EntireRow.Interior.ColorIndex = 4
            End If
        Next y
    End If
Next x

Однако я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ условиС Π‘ «Π΅ΡΠ»ΠΈ ячСйка x, 2 содСрТит строку «LW»» Π½Π° «if cell x,2 contains 5 characters…» Π² строкС 2. Π£ мСня Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len(). ΠœΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?

Бпасибо!

vba

excel

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ


ROCKYIII Β  Β 

28 июня 2016 в 13:05

3 ΠΎΡ‚Π²Π΅Ρ‚Π°


  • VBA функция с ΠΏΡ€Π°Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

    просто интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ #NAME? вмСсто фактичСского значСния: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° связана с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° функция VBA: Function LocateSite_Function(Title As String) As String Dim StartNumber As Long StartNumber = Len(Title) — InStr(1, Title, _). ..

  • VBA функция getdate (?)

    Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² VBA какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ функция, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строки Π² Π΄Π°Ρ‚Ρƒ? Π― имСю Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 20150723, 07023015, 23-07-15 ΠΈ Ρ‚. Π΄.-Для мСня это ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Π΄Π°Ρ‚Π°, Π½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA этого Π½Π΅ Π·Π½Π°Π΅Ρ‚:) Π§Ρ‚ΠΎ это Π»ΡƒΡ‡ΡˆΠΈΠΉ способ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ real Π΄Π°Ρ‚Π°…



1

If Len(Cells(x, 2).value) = 5 Then

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


gizlmo Β  Β 

28 июня 2016 в 13:08



1

if len(cells(x,2).value)=5 Ρ‚ΠΎΠ³Π΄Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ πŸ™‚

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Nathan_Sav Β  Β 

28 июня 2016 в 13:11



0

Π—Π΄Π΅ΡΡŒ: if len(trim(cell( x,2).value)) = 5 then....

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ


Jeremy Β  Β 

28 июня 2016 в 13:10


  • ВычислитС Len Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк Π² VBA

    Π― ΠΈΡ‰Ρƒ ΠΊΠΎΠ΄ VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ количСство символов Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ячССк. Если я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ excel ΠΈΠ· LEN, ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π°Π΅Ρ‚ ΠΌΠ½Π΅ Π½Π΅Ρ‚ символов Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйкС. Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ нас ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ даст ΠΌΠ½Π΅ Π½Π΅Ρ‚ символов Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ячССк? НапримСр: A1 = Night , B1 = Day C1…

  • VBA функция len Π½Π΅ проходящая Π΄Π»ΠΈΠ½Π°

    Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ячСйку, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² Π½Π΅ΠΉ дСсятичныС Π·Π½Π°ΠΊΠΈ, ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ячСйку ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько символов Π² этом числС, функция len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ null, Π° функция instr Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ null. Бпасибо всСм,…


ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Python, функция len

МнС Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, поТалуйста, посмотритС Π½Π° EDIT 2 это ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°: def printHuffTree(huffTree, prefix = »): if len(huffTree) == 2: print huffTree[1], prefix exampleData = [ (0. 124167 , ‘e’) ] if…

ΠŸΠΎΡ‡Π΅ΠΌΡƒ функция LEN() t-sql ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ trailing?

ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN() Π½Π° MSDN : Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ строкового выраТСния, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ trailing . ΠŸΠΎΡ‡Π΅ΠΌΡƒ функция LEN() Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹? ΠšΠ°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ…

Ѐункция Len для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ячССк

Π½ΡƒΠΆΠ½Π° функция подсчСта символов, такая ΠΊΠ°ΠΊ функция len, Π½ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π»Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ A1:D22). Π§Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚Π΅ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ? Π― ΠΈΡ‰Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, ΠΊΡ€ΠΎΠΌΠ΅ заполнСния…

VBA функция с ΠΏΡ€Π°Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

просто интСрСсно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ #NAME? вмСсто фактичСского значСния: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° связана с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° функция VBA: Function LocateSite_Function(Title As…

VBA функция getdate (?)

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² VBA какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ функция, которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строки Π² Π΄Π°Ρ‚Ρƒ? Π― имСю Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с Π΄Π°Ρ‚Π°ΠΌΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 20150723, 07023015, 23-07-15 ΠΈ Ρ‚. Π΄.-Для мСня это…

ВычислитС Len Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк Π² VBA

Π― ΠΈΡ‰Ρƒ ΠΊΠΎΠ΄ VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ количСство символов Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ячССк. Если я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ excel ΠΈΠ· LEN, ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π°Π΅Ρ‚ ΠΌΠ½Π΅ Π½Π΅Ρ‚ символов Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйкС. Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ нас…

VBA функция len Π½Π΅ проходящая Π΄Π»ΠΈΠ½Π°

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ячСйку, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² Π½Π΅ΠΉ дСсятичныС Π·Π½Π°ΠΊΠΈ, ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ячСйку ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько символов Π² этом числС, функция len…

Асинхронная Ѐункция VBA

Π£ мСня Π΅ΡΡ‚ΡŒ функция VBA, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ячСйки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запрос POST с этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ячСйкС. ВрСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹…

VBA range.formula выпуск (LEN , RIGHT ΠΈ слСва)

Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 2 Π²Π΅Ρ‰ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅, сколько символов Π΅ΡΡ‚ΡŒ Π² ячСйкС A1 , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ LEN(A1) ΠΈ ΠΎΠ΄Π½Ρƒ послСднюю строку, я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ. ..

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Excel Листов VBA Ѐункция

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° функция VBA, которая ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ всС листы excel Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π― ΠΏΠΎΠ»ΡƒΡ‡Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²ΠΎ врСмя выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это связано с ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ символов. Π£ мСня Π΅ΡΡ‚ΡŒ…

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA | ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ Excel

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

1. Ѐункция формирования ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΈ отчСства

Function CropFIO(ByVal FIO As String) As String
    ' ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку с Π²ΠΈΠ΄Π΅ "Ѐамилия имя отчСство"
    ' ΠΎΠ±Ρ€Π΅Π·Π°Π΅Ρ‚ имя ΠΈ отчСство, оставляя лишь ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Ρ‹ - Π² Π²ΠΈΠ΄Π΅ "Ѐамилия И. О."
    CropFIO = Application.Trim(FIO): arr = Split(CropFIO, " ")
    If UBound(arr) <> 2 Then Exit Function    ' Если Π² ячСйкС Π½Π΅ 3 слова - Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹
    CropFIO = Replace(CropFIO, " " & arr(1), " " & UCase(Left(arr(1), 1)) & ".")
    CropFIO = Replace(CropFIO, " " & arr(2), " " & UCase(Left(arr(2), 1)) & ".")
End Function

2. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π½Π° VBA

Dim s(0 To 255) As Integer, kep(0 To 255) As Integer
Β 
Public Function EnDeCrypt(ByVal plaintxt As String, ByVal Password As String) As String
    Dim temp As Integer, a As Integer, b As Integer, cipherby As Byte, cipher As String
    b = 0: For a = 0 To 255: b = b + 1: If b > Len(Password) Then b = 1
        kep(a) = Asc(Mid$(Password, b, 1)): Next a
    For a = 0 To 255: s(a) = a: Next a: b = 0
    For a = 0 To 255: b = (b + s(a) + kep(a)) Mod 256: temp = s(a): s(a) = s(b): s(b) = temp: Next a
    For a = 1 To Len(plaintxt): cipherby = EnDeCryptSingle(Asc(Mid$(plaintxt, a, 1)))
        cipher = cipher & Chr(cipherby): Next: EnDeCrypt = cipher
End Function
Public Function EnDeCryptSingle(plainbyte As Byte) As Byte
    Dim i As Integer, j As Integer, temp As Integer, k As Integer, cipherby As Byte
    i = (i + 1) Mod 256: j = (j + s(i)) Mod 256: temp = s(i): s(i) = s(j): s(j) = temp
    k = s((s(i) + s(j)) Mod 256): cipherby = plainbyte Xor k: EnDeCryptSingle = cipherby
End Function
Β 
' ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования
Sub Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅_с_Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΎΠΉ()
    MsgBox EnDeCrypt(EnDeCrypt("123456", "passw"), "passw")
End Sub
Β 
Sub ВСст_ΡˆΠΈΡ„Ρ€Π°()
    MsgBox EnDeCrypt("123456", "ΠΏΠ°Ρ€ΠΎΠ»ΡŒ")
End Sub

3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΏΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΌΡƒ столбцу

Public Function CoolSort(SourceArr As Variant) As Variant
    Dim Check As Boolean, iCount As Integer, jCount As Integer, nCount As Integer
    ReDim tmpArr(UBound(SourceArr, 2)) As Variant
    Do Until Check
        Check = True
        For iCount = LBound(SourceArr, 1) To UBound(SourceArr, 1) - 1
            If Val(SourceArr(iCount, 0)) > Val(SourceArr(iCount + 1, 0)) Then
                For jCount = LBound(SourceArr, 2) To UBound(SourceArr, 2)
                    tmpArr(jCount) = SourceArr(iCount, jCount)
                    SourceArr(iCount, jCount) = SourceArr(iCount + 1, jCount)
                    SourceArr(iCount + 1, jCount) = tmpArr(jCount)
                    Check = False
                Next
            End If
        Next
    Loop
    CoolSort = SourceArr
End Function

4. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Π½Π°Π±ΠΎΡ€ ASC ΠΊΠΎΠ΄ΠΎΠ²

Function String2CharCodes(ByVal txt$) As String
    sep = " & "
    For i = 1 To Len(txt)
        charcode = "Chr(" & Asc(Mid(txt, i, 1)) & ")"
        String2CharCodes = String2CharCodes & sep & charcode
    Next i
    String2CharCodes = Mid(String2CharCodes, Len(sep) + 1)
End Function

5. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для опрСдСлСния Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши

'============= Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для опрСдСлСния Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши =================================
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As VirtualKeys) As Integer
Β 
Public Enum VirtualKeys    ' Virtual Keys, Standard Set
    VK_LBUTTON = &h2: VK_RBUTTON = &h3: VK_CANCEL = &h4: VK_MBUTTON = &h5    'VK_MBUTTON = &h5 -  NOT contiguous with L RBUTTON
    VK_BACK = &H8: VK_TAB = &H9: VK_CLEAR = &HC: VK_RETURN = &HD
    VK_SHIFT = &h20: VK_CONTROL = &h21: VK_MENU = &h22: VK_PAUSE = &h23: VK_CAPITAL = &h24: VK_ESCAPE = &h2B
    VK_SPACE = &h30: VK_PRIOR = &h31: VK_NEXT = &h32: VK_END = &h33: VK_HOME = &h34
    VK_LEFT = &h35: VK_UP = &h36: VK_RIGHT = &h37: VK_DOWN = &h38: VK_SELECT = &h39: VK_PRINT = &h3A
    VK_EXECUTE = &h3B: VK_SNAPSHOT = &h3C: VK_INSERT = &h3D: VK_DELETE = &h3E: VK_HELP = &h3F
Β 
    ' VK_A thru VK_Z are the same as their ASCII equivalents: 'A' thru 'Z'
    ' VK_0 thru VK_9 are the same as their ASCII equivalents: '0' thru '9'

    VK_NUMPAD0 = &H60: VK_NUMPAD1 = &H61: VK_NUMPAD2 = &H62: VK_NUMPAD3 = &H63: VK_NUMPAD4 = &H64
    VK_NUMPAD5 = &H65: VK_NUMPAD6 = &H66: VK_NUMPAD7 = &H67: VK_NUMPAD8 = &H68: VK_NUMPAD9 = &H69
    VK_MULTIPLY = &H6A: VK_ADD = &H6B: VK_SEPARATOR = &H6C: VK_SUBTRACT = &H6D: VK_DECIMAL = &H6E: VK_DIVIDE = &H6F
    VK_F1 = &H70: VK_F2 = &H71: VK_F3 = &H72: VK_F4 = &H73: VK_F5 = &H74: VK_F6 = &H75: VK_F7 = &H76
    VK_F8 = &H77: VK_F9 = &H78: VK_F10 = &H79: VK_F11 = &H7A: VK_F12 = &H7B
    VK_F13 = &H7C: VK_F14 = &H7D: VK_F15 = &H7E: VK_F16 = &H7F: VK_F17 = &H80: VK_F18 = &H81
    VK_F19 = &H82: VK_F20 = &H83: VK_F21 = &H84: VK_F22 = &H85: VK_F23 = &H86: VK_F24 = &H87
    VK_NUMLOCK = &H90: VK_SCROLL = &H91
Β 
    '   VK_L VK_R - left and right Alt, Ctrl and Shift virtual keys. 
    '   Used only as parameters to GetAsyncKeyState() and GetKeyState().
    '   No other API or message will distinguish left and right keys in this way.
    VK_LSHIFT = &HA0: VK_RSHIFT = &HA1: VK_LCONTROL = &HA2: VK_RCONTROL = &HA3: VK_LMENU = &HA4: VK_RMENU = &HA5
Β 
    VK_ATTN = &HF6: VK_CRSEL = &HF7: VK_EXSEL = &HF8: VK_EREOF = &HF9: VK_PLAY = &HFA
    VK_ZOOM = &HFB: VK_NONAME = &HFC: VK_PA1 = &HFD: VK_OEM_CLEAR = &HFE
End Enum
'==========================================================================================

Public Function KeyPressed(ByVal VKey As VirtualKeys) As Boolean
    KeyPressed = IIf(GetKeyState(VKey) < 0, True, False)
End Function

6. ΠœΠ°ΠΊΡ€ΠΎΡ для создания ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
(подразумСваСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ глобальной константы ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PROJECT_NAME)

Sub CreateBackup()
    On Error Resume Next: ThisWorkbook.Save
    BackupsPath = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, PROJECT_NAME & " Backups\")
    MkDir BackupsPath
    filename = PROJECT_NAME & "_BACKUP_" & Format(Now, "DD-MM-YYYY__HH-NN-SS") & ".xls"
    ThisWorkbook.SaveCopyAs BackupsPath & filename
    'Debug.Print BackupsPath & filename
End Sub

7. ИзмСняСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ Π² ячСйкС (выдСляСм всС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ)

Sub BoldingDigits(ByRef celll As Range)
    For i = 1 To celll.Characters.count
        letter = celll.Characters(start:=i, Length:=1).Text
        celll.Characters(start:=i, Length:=1).Font.Bold = IsNumeric(letter)
    Next
End Sub

8. Поиск Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Π° (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ†ΠΈΡ„Ρ€ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹) Π² тСкстовой строкС
Бсылка Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Regexp: script-coding.com/WSH/RegExp.html

Function FindDigits(ByVal txt$, ByVal DigitsCount%) As String
    ' ΠΈΡ‰Π΅Ρ‚ Π² строкС txt$ подстроку Ρ†ΠΈΡ„Ρ€ Π΄Π»ΠΈΠ½ΠΎΠΉ DigitsCount%
    Set expres = CreateObject("VBScript.RegExp")
    expres.Pattern = Replace(String(DigitsCount%, "%"), "%", "[0-9]")
    If expres. test(txt$) Then FindDigits = expres.Execute(txt$)(0).Value
End Function

Function FindDigits(ByVal txt$, ByVal DigitsCount%) As String
    ' ΠΈΡ‰Π΅Ρ‚ Π² строкС txt$ подстроку Ρ†ΠΈΡ„Ρ€ Π΄Π»ΠΈΠ½ΠΎΠΉ DigitsCount%
    Set RegExp = CreateObject("VBScript.RegExp"): RegExp.Global = True
    RegExp.Pattern = "[\D]": txt$ = " " & RegExp.Replace(txt$, " ") & " "
    RegExp.Pattern = " [\d]{" & DigitsCount% & "} "
    If RegExp.test(txt$) Then FindDigits = RegExp.Execute(txt$)(0).Value
End Function

9. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сразу Π²ΠΎ вСсь столбСц Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

Sub AddValueIntoColumn(ByRef arr, ByVal ColumnIndex%, ByVal NewValue)
    ' добавляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NewValue Π² столбСц ColumnIndex% всСх строк
    ' ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ссылкС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива arr
    For i = LBound(arr) To UBound(arr)
        arr(i, ColumnIndex%) = NewValue
    Next i
End Sub

10. ИспользованиС Application.OnTime с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ мСньшС сСкунды

Sub Π—Π°ΠΏΡƒΡΠΊΠœΠ°ΠΊΡ€ΠΎΡΠ°Π‘ΠΠ΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΉΠ—Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ() ' ΠΏΠΎ ΠΌΠΎΡ‚ΠΈΠ²Π°ΠΌ макроса ZVI_Timer
    Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Π’Π‘Π΅ΠΊΡƒΠ½Π΄Π°Ρ… = 0.3    ' Π² сСкундах
    ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ΠœΠ°ΠΊΡ€ΠΎΡΠ°$ = "test"    ' этот макрос Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Ρ‡Π΅Ρ€Π΅Π· 0.3 сСк.
    ЗадСрТкаВЧасах$ = Replace(Format(CDbl(TimeSerial(0, 0, 1)) * Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Π’Π‘Π΅ΠΊΡƒΠ½Π΄Π°Ρ…, "0.000000000"), ",", ".")
    macro = "ON.TIME(NOW()+" & ЗадСрТкаВЧасах$ & ", """ & ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ΠœΠ°ΠΊΡ€ΠΎΡΠ°$ & """)" ' Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ запуска
    ExecuteExcel4Macro macro ' macro = ON.TIME(NOW()+0.000003472, "test")
End Sub

11. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² массив

Function Collection2Array(ByVal coll As Collection) As Variant
    ReDim arr(0 To coll.Count - 1): Dim i As Long
    For i = 1 To coll.Count: arr(i - 1) = coll(i): Next i
    Collection2Array = arr
End Function

12. Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ Excel доступ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ брандмауэра:

' Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ„Π°ΠΉΡ€Π²ΠΎΠ» Windows (доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½)
CreateObject("HNetCfg.FwMgr").LocalPolicy.CurrentProfile.FirewallEnabled = True
Β 
' ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ„Π°ΠΉΡ€Π²ΠΎΠ» Windows (доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚)
CreateObject("HNetCfg. FwMgr").LocalPolicy.CurrentProfile.FirewallEnabled = False

Ѐункция Len (Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)

  • 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Long, содСрТащий количСство символов Π² строкС ΠΈΠ»ΠΈ количСство Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Бинтаксис

Π›Π΅Π½ ( строка | имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ )

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй:

Π”Π΅Ρ‚Π°Π»ΡŒ ОписаниС
строка Π›ΡŽΠ±ΠΎΠ΅ допустимоС строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.Если строка содСрТит Null, возвращаСтся Null .
имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π›ΡŽΠ±ΠΎΠ΅ допустимоС имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Если varname содСрТит Null , возвращаСтся Null . Если varname являСтся Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, Len ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ String ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство содСрТащихся Π² Π½Π΅ΠΌ символов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π”ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΎΠ΄ΠΈΠ½ (ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½) ΠΈΠ· Π΄Π²ΡƒΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².Для Ρ‚ΠΈΠΏΠΎΠ², опрСдСляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ записан Π² Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LenB с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, содСрТащимися Π² строкС, ΠΊΠ°ΠΊ Π² языках с Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ (DBCS). ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ количСство символов Π² строкС, LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для прСдставлСния этой строки. Π‘ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² памяти, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΡŽΠ±Ρ‹Π΅ отступы ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами. ΠžΠ±Ρ€Π°Π·Π΅Ρ† ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ LenB , см. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹Β».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Len ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π² состоянии ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ фактичСскоС количСство Π±Π°ΠΉΡ‚ΠΎΠ² памяти, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΈ использовании со строками ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π² опрСдСляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Len для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° количСства символов Π² строкС ΠΈΠ»ΠΈ количСства Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π‘Π»ΠΎΠΊΡƒ Type … End Type , ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΌΡƒ CustomerRecord , Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Private , Ссли ΠΎΠ½ΠΎ появляСтся Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ класса.Π’ стандартном ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Public .

  Π’ΠΈΠΏ CustomerRecord 'ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
    ID ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число 'ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²
    Name As String * 10 'стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.
    АдрСс Π² Π²ΠΈΠ΄Π΅ строки * 30
Π’ΠΈΠΏ ΠΊΠΎΠ½Ρ†Π°

Dim Customer As CustomerRecord 'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.
Dim MyInt ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число, MyCur ΠΊΠ°ΠΊ Π²Π°Π»ΡŽΡ‚Π°
Вусклый MyString, MyLen
MyString = "Hello World" 'Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.
MyLen = Len (MyInt) 'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2.
MyLen = Len (Customer) 'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 42.MyLen = Len (MyString) 'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 11.
MyLen = Len (MyCur) 'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 8.

  

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LenB ΠΈ опрСдСляСмая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ функция ( LenMbcs ) для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° количСства Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… символов Π² строкС, Ссли для прСдставлСния строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ANSI.

  Ѐункция LenMbcs (ByVal str as String)
    LenMbcs = LenB (StrConv (str, vbFromUnicode))
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

Вусклый MyString, MyLen
MyString = "ABc"
'Π“Π΄Π΅ Β«AΒ» ΠΈ Β«BΒ» - это DBCS, Π° Β«cΒ» - это SBCS.
MyLen = Len (MyString)
'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 3–3 символа Π² строкС.MyLen = LenB (MyString)
'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 6-6 Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Unicode.
MyLen = LenMbcs (MyString)
'Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 5–5 Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для ANSI.

  

Π‘ΠΌ.

Π’Π°ΠΊΠΆΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹

Π•ΡΡ‚ΡŒ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΠ± Office VBA ΠΈΠ»ΠΈ этой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ? Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ Office VBA, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π².

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN (WS, VBA)


Π’ этом руководствС Excel ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN Π² Excel с синтаксисом ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

ОписаниС

Ѐункция Π”Π›Π‘Π’Π  Microsoft Excel Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ строки.

Ѐункция LEN — это встроСнная функция Π² Excel, которая относится ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ String / Text Function . Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (WS) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ VBA (VBA) Π² Excel. Как Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π”Π›Π‘Π’Π  ΠΌΠΎΠΆΠ½ΠΎ ввСсти ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π² ячСйку Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π’ качСствС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΊΠΎΠ΄Π΅ макроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вводится Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Microsoft Visual Basic Editor.

Бинтаксис

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN Π² Microsoft Excel:

 LEN (тСкст) 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ»ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

тСкст
Π‘Ρ‚Ρ€ΠΎΠΊΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚

Ѐункция LEN Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚ΡΡ ΠΊ

  • Excel для Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2011 для Mac, Excel 2010, Excel 2007, Excel 2003, Excel XP, Excel 2000

Π’ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • Ѐункция Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа (WS)
  • Ѐункция VBA (VBA)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (ΠΊΠ°ΠΊ функция Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа)

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN Π² Excel ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN Π² качСствС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π² Microsoft Excel:

На основС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ LEN:

 = LEN (A1)
  Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:  13

= LEN (A2)
  Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:  16

= LEN ("Excel")
  Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:  5

= LEN ("123")
  Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:  3

= LEN (123)
  Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:  3 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (ΠΊΠ°ΠΊ функция VBA)

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ VBA Π² Microsoft Excel.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LEN Π² Excel ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LEN Π² ΠΊΠΎΠ΄Π΅ Excel VBA:

 Dim LResult As Long

LResult = Len ("www.techonthenet.com") 

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ LResult Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 20.

ontime — ΠžΠ±ΠΎΠΉΡ‚ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ строки Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vba?

МаксимальноС количСство символов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² строкС Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vba, Ρ€Π°Π²Π½ΠΎ 255.
Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

  Var1 = 1
Var2 = 2
..
.
Var256 = 256

RunMacros = "'Tims_pet_Robot" "" "& Var1 &" "", "" "& Var2 &" "", "" "..." "" & Var256 "" "'"
Runat = TimeValue ("15:00:00")
Application.OnTime EarliestTime: = Runat, ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°: = RunMacros & RunMacros2 ', расписаниС: = True
  

Он запускаСт ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π½ΠΎ строка слишком длинная.

ОбновлСниС:
К соТалСнию, я ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΎΠΊΠ½ΠΎ часов.
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я имСю Π΄Π΅Π»ΠΎ Π½Π΅ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ строки.Π­Ρ‚ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€
строка Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ vba.

НапримСр, эта функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

  ΠŸΠΎΠ΄Ρ‚Π΅ΡΡ‚ ()
Dim RunAt As Date
Dim RunWhat As String

RunAt = БСйчас + 0,00001
Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
"Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ', Ρ‡Ρ‚ΠΎ составляСт 254' Π° '
ЗаявлСниС.OnTime EarliestTime: = RunAt, Procedure: = "'" & RunWhat & "12'"

ΠšΠΎΠ½Π΅Ρ† подписки


Π‘ΡƒΠ± aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (ΠΌ As Integer)
MsgBox ("Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!" & M)
ΠšΠΎΠ½Π΅Ρ† подписки
  

Но Ссли ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ 12 Π½Π° 123, сломаСтся
ΠŸΡ€ΠΈΠΌΠ΅Ρ€

  ΠŸΠΎΠ΄Ρ‚Π΅ΡΡ‚2 ()
Dim RunAt As Date
Dim RunWhat As String

RunAt = БСйчас + 0. 00001
Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
"Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°Π°
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ', Ρ‡Ρ‚ΠΎ составляСт 254' Π° '
Application.OnTime EarliestTime: = RunAt, Procedure: = "'" & RunWhat & "123'"

ΠšΠΎΠ½Π΅Ρ† подписки


Π‘ΡƒΠ± aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (ΠΌ As Integer)
MsgBox ("Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!" & M)
ΠšΠΎΠ½Π΅Ρ† подписки
  

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, я ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ функция vba Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ строку с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 255 символами.Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Excel ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π΄Π°Π΅Ρ‚Π΅ Π΅ΠΉ строку Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 255 символов, это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π² ячСйкС A1 = vlookup (Β«Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ длинная строка», A1: Z10, 1), Π° Π·Π°Ρ‚Π΅ΠΌ помСститС Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² этом Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° vlookup Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ (Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π½Π°ΠΉΡ‚ΠΈ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ Π½Π΅ смоТСтС этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ)

Π’Π°ΠΊΠΆΠ΅ я знаю, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ максимальная Π΄Π»ΠΈΠ½Π° суб-ΠΈΠΌΠ΅Π½ΠΈ, я ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎΠ΄ Π½ΠΈΠΌ. Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это выглядит Ρ‚Π°ΠΊ нСкрасиво.

ОбновлСниС 2: Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π° листС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ontime, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… с листа.:(

Len LenB Functions — Visual Basic VBA

Бинтаксис

Len (строка | имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ) строка

ИспользованиС: трСбуСтся

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…: строка

ДопустимоС строковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ИспользованиС: трСбуСтся

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…: Π›ΡŽΠ±ΠΎΠΉ, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДопустимоС имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ A Π”Π»ΠΈΠ½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ОписаниС

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство символов Π² строкС ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ LenB, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ фактичСскоС количСство Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² памяти.

ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»

β€’ строка ΠΈ имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°; Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ строку, Π»ΠΈΠ±ΠΎ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

β€’ Если строка ΠΈΠ»ΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ содСрТат Null, Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Null.

β€’ Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ (количСство символов), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ записи Π² Ρ„Π°ΠΉΠ».

β€’ LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ фактичСский Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ° Π² памяти.

Len, LenB Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ 401

β€’ Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ LenB с Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ строкой Unicode, LenB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π±Π°ΠΉΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ строку.

β€’ Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Len с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

β€’ Если имя_ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ являСтся массивом, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ допустимый индСкс. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Len Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива.

Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΈ подсказки ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

β€’ Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ доступом для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ опрСдСляСмый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этих Π΄Π°Π½Π½Ρ‹Ρ… Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Len для опрСдСлСния значСния прСдлоТСния Len = ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Open Ρ„Π°ΠΉΠ»Π°.Однако, Ссли Π²Ρ‹ использовали строки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π² своСм опрСдСляСмом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ΅, Len ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ фактичСскиС трСбования ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ для опрСдСляСмого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°. Для этой Ρ†Π΅Π»ΠΈ вмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строки фиксированной Π΄Π»ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ установлСны Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ строкового поля. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Len для указания Π΄Π»ΠΈΠ½Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ доступом:

Π―Π²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

Π’ΠΈΠΏ udtTest

F Имя ΠΊΠ°ΠΊ строка * 20 L Имя ΠΊΠ°ΠΊ строка * 25 Возраст ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число Π’ΠΈΠΏ ΠΊΠΎΠ½Ρ†Π°

Public udtRec (ΠΎΡ‚ 1 Π΄ΠΎ 10) Как udtTest

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Π°Ρ функция RandomFileSave () ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Dim sFile As String Dim iFile As Integer Dim i As Integer sFile = «test. dat «iFile = FreeFile

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ sFile для случайного Π²Ρ‹Π±ΠΎΡ€Π° ΠΊΠ°ΠΊ #iFile Len = Len (udtRec (1)) Для i = ΠΎΡ‚ 1 Π΄ΠΎ 10

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ #iFile, i, udtRec (i) Π”Π°Π»Π΅Π΅ i Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ #iFile

ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

β€’ Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈ Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ фактичСскоС количСство символов, сохранСнных Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Но это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° возьмСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚:

Dim vVar vVar = 100

MsgBox Len (vVar)

402 Π“Π»Π°Π²Π° 7. Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ языку

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ функция Len Π²Π΅Ρ€Π½Π΅Ρ‚ 2, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ iVar, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, являСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠ°.ЀактичСски, Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 3 — количСство символов, содСрТащихся Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅.

β€’ ΠŸΡ€ΠΈ использовании со строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для хранСния этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, Π΄Π»ΠΈΠ½Π° Long составляСт 4.

β€’ ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Visual Basic Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ строки Unicode (Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ хранится Π² Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚Π°Ρ…), ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Len ΠΈ LenB ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния. НапримСр, строка ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… символов Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 4 ΠΈΠ· Len, Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 8 ΠΈΠ· LenB.

β€’ На всякий случай, Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ сомнСния Π² эффСктивности явного объявлСния Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ этот быстрый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ LenB:

Dim lVar As Long Dim vVar lVar = 10000000 vVar = 10000000

MsgBox «Π”линная вСрсия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚» & LenB (lVar) & _ «Π±Π°ΠΉΡ‚Ρ‹ памяти» & vbCrLf & _ «Π’Срсия Variant ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚» & LenB (vVar)

Π’Ρ‹Π²ΠΎΠ΄ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½: Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС памяти, Ρ‡Π΅ΠΌ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ здСсь: Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Like

Π‘Ρ‹Π»Π° Π»ΠΈ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?

Excel VBA Len Function — Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

VBA Len Function : Ѐункция Len Π² VBA Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² прСдоставлСнной строкС ΠΈΠ»ΠΈ количСство Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния прСдоставлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Бинтаксис

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

Expression (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) — этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ прСдставляСт строку
ΠΈΠ»ΠΈ пСрСмСнная, Π΄Π»ΠΈΠ½Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚

Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство символов Π² прСдоставлСнном
строка ΠΈΠ»ΠΈ количСство Π±Π°ΠΉΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для хранСния прСдоставлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1

Sub StrLenFunction_Example1 ()
‘ΠΎΡ†Π΅Π½ΠΊΠ° Π΄Π»ΠΈΠ½Ρ‹ строки.
Dim str ΠΊΠ°ΠΊ строка, strLen ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
str = «Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ VBA!»
strLen = Len (str)
‘ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅Ρ€Π½Π΅Ρ‚ 21.
ActiveCell.Value = strLen
ΠšΠΎΠ½Π΅Ρ† подписки

Sub StrLenFunction_Example1 ()

‘ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ строки.

Dim str As String, strLen As Integer

str = «Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ VBA!»

strLen = Len (str)

‘ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅Ρ€Π½Π΅Ρ‚ 21.

ActiveCell.Value = strLen

End Sub

Π’Ρ‹Ρ…ΠΎΠ΄

21

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2

Sub StrLenFunction_Example2 ()
‘ΠΎΡ†Π΅Π½ΠΊΠ° Π΄Π»ΠΈΠ½Ρ‹ пустой строки «».
Dim strLen ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
strLen = Len («»)
‘ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅Ρ€Π½Π΅Ρ‚ 0.ActiveCell.Value = strLen
ΠšΠΎΠ½Π΅Ρ† подписки

Sub StrLenFunction_Example2 ()

‘ΠΎΡ†Π΅Π½ΠΊΠ° Π΄Π»ΠΈΠ½Ρ‹ пустой строки «».

Dim strLen As Integer

strLen = Len («»)

‘ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅Ρ€Π½Π΅Ρ‚ 0.

ActiveCell.Value = strLen

End Sub

Π’Ρ‹Ρ…ΠΎΠ΄

0

Excel VBA Mid Left and Right: ПолноС руководство

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ строковых функциях VBA Left , Right ΠΈ Mid .Π’ этом постС я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈΡ… для Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π°Π΄Π°Ρ‡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для извлСчСния ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… строк), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ .

Π― Ρ‚Π°ΠΊΠΆΠ΅ расскаТу ΠΎ малоизвСстной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid , Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mid.

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Left, Right ΠΈ Mid

ВсС эти Ρ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Ρ†Π΅Π»ΡŒ — ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ тСкст ΠΈΠ· тСкстовой строки.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ синтаксис этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Ѐункция ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ЛСвая строка, Π΄Π»ΠΈΠ½Π° Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ символов с Π»Π΅Π²ΠΎΠΉ стороны Π›Π΅Π²Ρ‹ΠΉ (Β«Π”ΠΆΠΎΠ½ Π‘ΠΌΠΈΡ‚Β», 4)
ΠŸΡ€Π°Π²Π°Ρ строка, Π΄Π»ΠΈΠ½Π° Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ символов с ΠΏΡ€Π°Π²ΠΎΠΉ стороны Π‘ΠΏΡ€Π°Π²Π° (Β«Π”ΠΆΠΎΠ½ Π‘ΠΌΠΈΡ‚Β», 5)
Mid строка, Π½Π°Ρ‡Π°Π»ΠΎ, Π΄Π»ΠΈΠ½Π° Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ символов ΠΈΠ· сСрСдины Mid («John Smith», 3,2)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строка? Π‘Ρ‚Ρ€ΠΎΠΊΠ° — это кусок тСкста.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅:

 text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
text = "Π”ΠΆΠΎΠ½ Π‘ΠΌΠΈΡ‚"
text = "ΠšΠ»ΠΈΠ΅Π½Ρ‚ 234-AA = 56"
 

ΠœΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ String Π² VBA, ΠΈ это эквивалСнтно тСксту Π² ячСйкС Π² элСктронной Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с настройки простого Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для отобраТСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² этих строковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΌΡ‹ создаСм Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ присваиваСм Π΅ΠΉ тСкст:

 Вусклый тСкст Π² Π²ΠΈΠ΄Π΅ строки
text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
 

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈ Π² этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left, Right ΠΈΠ»ΠΈ Mid.НачнСм с присвоСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ тСкстовой строки Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

 Sub UseLeft ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    'ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ тСкст
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = тСкст
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    Debug. Print "Original:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки

 

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим этот ΠΊΠΎΠ΄, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π½Π°ΠΆΠ°Π² F5 (это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Run-> Run Sub / UserForm ΠΈΠ· мСню.)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π΅ строки Π±Ρ‹Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΎΠΊΠ½Π΅ Immediate:

(ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли ΠΎΠΊΠ½ΠΎ Immediate Π½Π΅ отобраТаСтся, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² мСню View-> Immediate Window ΠΈΠ»ΠΈ Ctrl + G)

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ЛСвая функция

Ѐункция Left , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, являСтся самой простой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π² VBA.Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство символов слСва ΠΎΡ‚ строки. ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство символов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.
Бинтаксис
Π‘Π»Π΅Π²Π° (строка, Π΄Π»ΠΈΠ½Π°)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€
Π›Π΅Π²Ρ‹ΠΉ (Β«abcdefΒ», 3)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Β«abcΒ»

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ исходная строка Π½Π΅ измСняСтся. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left ΠΈ сохраняСм Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкС. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ строка остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ собираСмся Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ символа строки: ΠœΡΡ€ΠΈ :

 Sub UseLeft ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Left (тСкст, 4)
    
    'Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    Debug.Print "Original:" ΠΈ тСкст
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Β«Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:Β» & Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

ΠšΠΎΠ½Π΅Ρ† подписки

 

Если ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ 4 Π½Π° 8, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ функция Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ восСмь символов строки:

 Sub UseLeft ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Left (тСкст, 8)
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π΄Π»ΠΈΠ½Ρƒ строки, возвращаСтся вся строка. НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 100 с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Left, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° вся строка:

 Sub UseLeft ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Left (тСкст, 100)
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π­Ρ‚ΠΎ функция Left , ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅Π΅ довольно просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€Π°Π²Π°Ρ функция

Ѐункция Right Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ проста ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Left .Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ символы ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠΉ части строки, Π° Π½Π΅ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ. Π‘ΠΏΡ€Π°Π²Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ ЛСвая. ВрСбуСтся строка, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ, ΠΈ количСство символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ:

Бинтаксис
Π‘ΠΏΡ€Π°Π²Π° (строка, Π΄Π»ΠΈΠ½Π°)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€
Π‘ΠΏΡ€Π°Π²Π° (Β«abcdefΒ», 3)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Β«defΒ»

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ использовали с Left.ΠœΡ‹ замСняСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Left Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Right ΠΈ устанавливаСм Π΄Π»ΠΈΠ½Ρƒ 4:

 ΠŸΡ€Π°Π²ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Right Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π’ΠΏΡ€Π°Π²ΠΎ (тСкст, 4)
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    Debug.Print "Original:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Когда ΠΌΡ‹ запускаСм этот ΠΊΠΎΠ΄, ΠΈ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Π΅Ρ€Π½ΡƒΠ» послСдниС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ символа строки:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° этот Ρ€Π°Π· ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΄Π»ΠΈΠ½Ρƒ Π½Π° 11:

 ΠŸΡ€Π°Π²ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
     'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Right Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π’ΠΏΡ€Π°Π²ΠΎ (тСкст, 11)
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим этот ΠΊΠΎΠ΄, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ символы , малСнький Π±Π°Ρ€Π°ΡˆΠ΅ΠΊ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ послСдними 11 символами:

Π”Π°Π²Π°ΠΉ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ. На этот Ρ€Π°Π· ΠΌΡ‹ мСняСм Π΄Π»ΠΈΠ½Ρƒ Π½Π° 100, Ρ‡Ρ‚ΠΎ Π½Π° число большС, Ρ‡Π΅ΠΌ Π΄Π»ΠΈΠ½Π° всСй строки:

 ΠŸΡ€Π°Π²ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
     'ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Right Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π’ΠΏΡ€Π°Π²ΠΎ (тСкст, 100)
    
    'ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Ctrl + G)
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим этот ΠΊΠΎΠ΄, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всю строку:

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ прСдоставляСм Π΄Π»ΠΈΠ½Ρƒ, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ строки, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ всю строку.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Right .Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ½Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Left ΠΈ довольно проста Π² использовании.

БрСдняя функция

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Mid . Ѐункция Mid ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ тСкст ΠΈΠ· сСрСдины строки, ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия:

Бинтаксис
Mid (строка, Π½Π°Ρ‡Π°Π»ΠΎ, Π΄Π»ΠΈΠ½Π°)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€
Mid (Β«abcdefΒ», 2, 3)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Β«bcdΒ»

Ѐункция Mid ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Left.ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Mid ΠΈ Left Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Mid Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ — Start . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Start ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для указания Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² строкС:

Бинтаксис
Mid (строка, Π½Π°Ρ‡Π°Π»ΠΎ , Π΄Π»ΠΈΠ½Π°)

Если ΠΌΡ‹ установим ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Start Π½Π° 1, Ρ‚ΠΎ Mid Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Left. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ тСкст ΠΈΠ· строки, ΠΌΡ‹ устанавливаСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Start Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ символов.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ это. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 1 ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ 4 ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Ρƒ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Left с Π΄Π»ΠΈΠ½ΠΎΠΉ 4:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΠ΄ с Start ΠΊΠ°ΠΊ 1 ΠΈ Length ΠΊΠ°ΠΊ 4:

 Sub UseMid ()

    Вусклый тСкст Π² Π²ΠΈΠ΄Π΅ строки
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Вусклый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π’ Π²ΠΈΠ΄Π΅ строки
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 1, 4)
    
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ использовании Left с Π΄Π»ΠΈΠ½ΠΎΠΉ 3:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ слово Β«hadΒ», ΠΌΡ‹ установили Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° 6 ΠΈ Π΄Π»ΠΈΠ½Ρƒ Π½Π° 3.

 Sub UseMid ()

    Вусклый тСкст Π² Π²ΠΈΠ΄Π΅ строки
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Вусклый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π’ Π²ΠΈΠ΄Π΅ строки
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 6, 3)
    
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Когда ΠΌΡ‹ запускаСм ΠΊΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ собираСмся ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Β«Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎΒ» ΠΈΠ· этой строки. ΠœΡ‹ устанавливаСм Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° 12 ΠΈ Π΄Π»ΠΈΠ½Ρƒ Π½Π° 6:

 Sub UseMid ()

    Вусклый тСкст Π² Π²ΠΈΠ΄Π΅ строки
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Вусклый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π’ Π²ΠΈΠ΄Π΅ строки
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 12, 6)
    
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Когда ΠΌΡ‹ запустим ΠΊΠΎΠ΄, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Как ΠΈ Π² Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… функциях, Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π΄Π»ΠΈΠ½Ρƒ ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ тСкста, Ρ‚ΠΎ послС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ возвращаСтся вся строка.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 5 ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΈ ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 100 ΠΊΠ°ΠΊ Π΄Π»ΠΈΠ½Ρƒ, которая, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, большС, Ρ‡Π΅ΠΌ Π΄Π»ΠΈΠ½Π° строки:

 Sub UseMid ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строку
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 12, 100)
    
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Когда Π²Ρ‹ запуститС ΠΊΠΎΠ΄, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ вСсь тСкст с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:

Одно ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Mid ΠΈ Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ. ЀактичСски, этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Если ΠΌΡ‹ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄Π»ΠΈΠ½Ρ‹, ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡΡ‚Π°Π²ΡˆΡƒΡŽΡΡ Ρ‡Π°ΡΡ‚ΡŒ строки ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.Если ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠΌ Π΄Π»ΠΈΠ½Ρƒ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСсто 100 Ρƒ нас просто Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ строки ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ:

 Sub UseMid ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строку
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 12)
    
    Debug.Print "Original:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

ОбновлСниС исходной строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mid

Π’ Π½Π°Ρ‡Π°Π»Π΅ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ я упомянул, Ρ‡Ρ‚ΠΎ Ρƒ Mid Π΅ΡΡ‚ΡŒ малоизвСстная функция, ΠΈ здСсь я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ это Π·Π° функция.ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mid. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Left \ Right ΠΌΡ‹ просто Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ ΠΈΠ· строки. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я имСю Π² Π²ΠΈΠ΄Ρƒ:

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ строка НЕ ​​измСнСна

Новая строка = слСва (исходная строка, Π΄Π»ΠΈΠ½Π°)
Новая строка = справа (исходная строка, Π΄Π»ΠΈΠ½Π°)
Новая строка = сСрСдина (исходная строка, Π½Π°Ρ‡Π°Π»ΠΎ, Π΄Π»ΠΈΠ½Π°)

Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ строка ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°
Mid (String, Start, Length) = text

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Mid. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ Β«ΠœΡΡ€ΠΈΒ»:

 Sub UseMid ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
    Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ строку
    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Mid (тСкст, 1, 4)
    
    Debug.Print "Original:" ΠΈ тСкст
    Debug.Print "Result:" & result

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ возьмСм Mid ΠΈ помСстим Π΅Π³ΠΎ слСва ΠΎΡ‚ Π·Π½Π°ΠΊΠ° равСнства.Π—Π°Ρ‚Π΅ΠΌ присваиваСм Π΅Π³ΠΎ строкС Β«Π”ΠΆΠ΅ΠΊΒ». Когда ΠΌΡ‹ запустим ΠΊΠΎΠ΄, Β«Π”ΠΆΠ΅ΠΊΒ» Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Β«ΠœΡΡ€ΠΈΒ» Π² исходной строкС:

 Sub UpdateUsingMid ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π£ ΠœΡΡ€ΠΈ Π±Ρ‹Π» ягнСнок"
    
     Mid (text, 1, 4) = "Π”ΠΆΠ΅ΠΊ"
    
    Debug.Print "Original:" ΠΈ тСкст

ΠšΠΎΠ½Π΅Ρ† подписки
 

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Π°. Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π»ΠΈΠ½Ρƒ, замСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство символов.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 4 Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 4 символа:

 Mid (text, 1, 4) = "АндрСй"
 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Π£ АндрС Π±Ρ‹Π» Π±Π°Ρ€Π°ΡˆΠ΅ΠΊ

Но Ссли ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Π΄Π»ΠΈΠ½Ρƒ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всС Π±ΡƒΠΊΠ²Ρ‹ Π² строкС справа, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

 Mid (text, 1) = "АндрСй"
 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Π­Π½Π΄Ρ€ΡŽΠ°Π΄ Π±Π°Ρ€Π°ΡˆΠ΅ΠΊ

Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Β«ΠœΡΡ€ΠΈΒ» Π½Π° Β«Π­Π½Π΄Ρ€ΡŽΒ», Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ»:

 text = Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (тСкст, Β«ΠœΠ°Ρ€ΠΈΡΒ», «АндрСй»)
 

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Π£ АндрСя Π±Π°Ρ€Π°ΡˆΠ΅ΠΊ

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа Π² строкС

Одной ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Mid являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° позволяСт Π½Π°ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ Π² строкС.Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

 Sub MidLoop ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "abcdef"
    
    Dim i As Long, символ ΠΊΠ°ΠΊ строка
    Для i = 1 To Len (тСкст)
        символ = Mid (тСкст, i, 1)
        Debug.Print i & ":" & символ
    Π”Π°Π»Π΅Π΅ я
    
ΠšΠΎΠ½Π΅Ρ† подписки
 

Когда ΠΌΡ‹ запускаСм этот ΠΊΠΎΠ΄, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
1: a
2: b
3: c
4: d
5: e
6: f

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС

Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкст Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ:

 Sub MidLoopReverse ()

    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "abcdef"
    
    Dim i As Long, символ ΠΊΠ°ΠΊ строка
    Для i = Len (тСкст) To 1 Step -1
        символ = Mid (тСкст, i, 1)
        ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.ΠΠ°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ i & ":" & символ
    Π”Π°Π»Π΅Π΅ я
    
ΠšΠΎΠ½Π΅Ρ† подписки
 

ΠŸΡ€ΠΈ запускС ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
6: f
5: e
4: d
3: c
2: b
1: a

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ / Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠœΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос: ΠΊΠΎΠ³Π΄Π° слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° ΠΊΠΎΠ³Π΄Π° слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΡ… использования. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с фиксированными строками, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ строками.

ЀиксированныС струны

ЀиксированныС строки — это ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² строкС всСгда ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ находится Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

НапримСр, Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записи, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π²Ρ‹Π΅ символы — это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ 4 символа — Π³ΠΎΠ΄, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° — Ρ‚ΠΈΠΏ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚. Π”., НапримСр.

1234AB2019XX
4567AB2019YY
1245AB2018ZY

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со струнами, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ этой, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Left, Right ΠΈ Mid. Но для строк ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Ρ‚.Π΅. ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ„Π°ΠΉΠ» Π² стилС CSV), ΠΎΠ½ΠΈ Π½Π΅ подходят.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (с раздСлитСлями)

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° — это строки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… поля ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€. ΠšΠΎΠ½Π΅Ρ† поля отмСчаСтся Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ Π² Π²ΠΈΠ΄Π΅ запятой. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ строк ΠΎΡ‡Π΅Π½ΡŒ распространСны, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΡ… Π² Ρ„Π°ΠΉΠ»Π°Ρ… CSV.

НапримСр, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ:
Π”ΠΆΠ΅ΠΊ Π‘ΠΌΠΈΡ‚, United Block Company, 36 High Street
Π”ΠΆΠ΅Π½Π½ΠΈ ΠšΡΡ‚ΠΈ Π£ΠΎΠ»Ρ‚ΠΎΠ½, Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ сантСхники, Paradise Plaza
Π₯Π΅Π»Π΅Π½ Макдональд, ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊΠΈ высококачСствСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Мэйн АвСню, 16

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π°ΠΏΡΡ‚ΡƒΡŽ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΠΌ, Π³Π΄Π΅ заканчиваСтся ΠΏΠΎΠ»Π΅.

МногиС люди ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ наши 3 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Instr для извлСчСния Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр:

 ПодлоТка ReadVariableStrings ()

    'Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ строку
    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π”ΠΆΠ΅ΠΊ Π‘ΠΌΠΈΡ‚, United Block Company, 36 High Street"
    
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
    Dim person As String, компания As String
    Dim startPostion As Long, endPosition As Long
    
    'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°
    endPosition = InStr (тСкст, ",")
    person = Left (тСкст, endPosition - 1)
    
    'ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
    startPostion = endPosition + 1
    endPosition = InStr (startPostion, text, ",") - 1
    company = Mid (тСкст, startPostion, endPosition - startPostion + 1)
    
    'Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π»ΠΈΡ†ΠΎ
    Компания Debug.Print

ΠšΠΎΠ½Π΅Ρ† подписки
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ многословСн. На самом Π΄Π΅Π»Π΅ Π½Π°ΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ раздСлСния, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я расскаТу Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π’ Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования раздСлСния с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ строками.

Π’ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅, пСрСписанный для использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ раздСлСния:

 ПодлоТка ReadVariableStringsSplit ()

    'Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ строку
    Вусклый тСкст ΠΊΠ°ΠΊ строка
    text = "Π”ΠΆΠ΅ΠΊ Π‘ΠΌΠΈΡ‚, United Block Company, 36 High Street"
    
    'ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ массив
    Dim arr ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
    
    'Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ строку Π½Π° массив
    arr = Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ (тСкст; ",")
   
    'Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹
    ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ arr (0) 'Π§Π΅Π»ΠΎΠ²Π΅ΠΊ
    Debug.Print arr (1) 'Компания

ΠšΠΎΠ½Π΅Ρ† подписки
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, этот ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом постС ΠΌΡ‹ рассмотрСли использованиС Left ; ΠŸΡ€Π°Π²Π°Ρ ΠΈ БрСдняя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Они ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для извлСчСния тСкста ΠΈΠ· строки фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠœΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ функция Mid ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая позволяСт Π½Π°ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ тСкст Π² строкС.ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Mid ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для чтСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… символов Π² строкС.

Бсылки ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Excel VBA Split Function — ПолноС руководство
ПолноС руководство ΠΏΠΎ строковым функциям VBA
ПолноС руководство ΠΏΠΎ использованию массивов Π² Excel VBA

Π”Π»ΠΈΠ½Π° строки VBA: ΠΊΠ°ΠΊ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строки Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹

Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ VBA — это язык программирования, управляСмый событиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Microsoft Office.Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования со связанной ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания макросов, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² офисных прилоТСниях MS. Однако VBA Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² MS Excel. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° VBA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Excel ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π½Π΅Π΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± использовании макросов VBA с Excel Π² этом Π²Π²ΠΎΠ΄Π½ΠΎΠΌ курсС.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ — ваТная Ρ‡Π°ΡΡ‚ΡŒ любого языка программирования. Π‘Ρ‚Ρ€ΠΎΠΊΠ° — это Π² основном любой сохранСнный тСкст.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ряд ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ со строками, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, сортировку, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ строки, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ подстрок, поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа Π² строкС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. БСгодня ΠΌΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ вас с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ строки VBA. ΠœΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основными концСпциями Excel VBA ΠΈ строк. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этими концСпциями, ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ нашС руководство ΠΏΠΎ основам VBA.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строка?

Π‘Ρ‚Ρ€ΠΎΠΊΠ° — это массив символов.Π”Π»ΠΈΠ½Π° строки — это количСство символов Π² строкС. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится строка, объявлСна ​​как строковый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π°Ρ‚Π΅ΠΌ Π΅ΠΌΡƒ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ВзглянитС Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ здСсь ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 Dim MyName as String
MyName = "Π”ΠΆΠΎΠ½ Π‘ΠΌΠΈΡ‚" 

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько манипуляций со строкой. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π»ΠΈΠ½Ρ‹ строки, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания программирования. Π›ΡƒΡ‡ΡˆΠΈΠΉ способ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ строках ΠΈ манипуляциях со строками — это ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ курс программирования Π½Π° языкС C.Π”Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C. Π’Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… курсов просто ΠΏΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°ΡŽΡ‚ струны ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎ Π½ΠΈΡ… ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅. C являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ языком программирования, поэтому Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ курсов C Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ всС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ строки.

Ѐункция VBA для вычислСния Π΄Π»ΠΈΠ½Ρ‹ строки

Ѐункция MS Len вычисляСт Π΄Π»ΠΈΠ½Ρƒ строки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π΅ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Бинтаксис этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

 Π›Π΅Π½ (тСкст) 

Ѐункция

Len () Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² вСрсиях, начиная с Excel 2000 ΠΈ заканчивая Excel 2013.ВзглянитС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

 Dim LResult As Long
LResult = Len ("http://www.shutterstock.com/") 

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это руководство ΠΏΠΎ строкам Π² C ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ строка строкой фиксированной Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ строкой с измСняСмым Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ

Π’ VBA Ρ€Π°Π·ΠΌΠ΅Ρ€ строк ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для установки ΠΈΠ»ΠΈ извлСчСния частСй строк ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. Однако Π±Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ строки фиксированной Π΄Π»ΠΈΠ½Ρ‹.

 Π Π°Π·ΠΌΠ΅Ρ€ A ΠΊΠ°ΠΊ строка * 10 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ A объявлСна ​​как строка ΠΈΠ· 10 символов. НСдостатком этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° строки постоянно фиксируСтся Π½Π° 10. Π Π°Π·ΠΌΠ΅Ρ€ строки Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π²ΠΎ врСмя выполнСния. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ струны. Π’ΠΎ врСмя кодирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ строки. Иногда Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ строковая пСрСмСнная строкой фиксированной Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ строкой с измСняСмым Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ. Π­Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ VBA ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строки фиксированной Π΄Π»ΠΈΠ½Ρ‹ Π² строки с измСняСмым Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ объявлСна ​​строка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ строка фиксированной ΠΈΠ»ΠΈ измСняСмой.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ строк фиксированной Π΄Π»ΠΈΠ½Ρ‹

 Dim A As String
Dim B ΠΊΠ°ΠΊ строка * 10
Dim Orig_Len As Long
Dim Orig_Val As String
B = "ABC"
A = "DEF"
Orig_Len = Len (B)
Orig_Val = B
B = B & ""
Если Orig_Len = Len (B), Ρ‚ΠΎ
Debug.Print Β«B - строка фиксированной Π΄Π»ΠΈΠ½Ρ‹Β»
Π•Ρ‰Π΅
Debug.Print Β«B - большая строка»
B = OrigVal
ΠšΠΎΠ½Π΅Ρ†, Ссли
Orig_Len = Len (A)
OrigVal = AA = A & ""
Если Orig_Len = Len (A), Ρ‚ΠΎ
ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.Π’Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Β«A - строка фиксированной Π΄Π»ΠΈΠ½Ρ‹Β»
Π•Ρ‰Π΅
Debug.Print Β«A - это большая строка»
A = OrigVal
ΠšΠΎΠ½Π΅Ρ†, Ссли 

Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ строка Ρ‚ΠΈΠΏΠ°. Π”Π»ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ String вычисляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Len (Π΄Π»ΠΈΠ½Π° строки). Π—Π°Ρ‚Π΅ΠΌ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ добавляСтся ΠΏΡ€ΠΎΠ±Π΅Π». Π”Π»ΠΈΠ½Π° строки пСрСсчитываСтся. БравниваСтся ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ строки. Если ΠΎΠ±Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅, строка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ фиксированной Π΄Π»ΠΈΠ½Ρ‹. Если ΠΎΠ±Π° ΠΎΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, Ρ‚ΠΎ это строка с измСняСмым Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ.Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ строках ΠΈ макросах VBA, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ этот курс Π² Excel VBA.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходной Π΄Π»ΠΈΠ½Ρ‹ строки Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° VBA, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ тСкст справа ΠΈΠ»ΠΈ слСва, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ PadChar для создания строки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹.

 ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ пСрСчислСниС Size_StringSide
Text_Left = 1
Text_Right = 2
ΠšΠΎΠ½Π΅Ρ† пСрСчислСния
ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Π°Ρ функция SizeString (Text1 As String, Length2 As Long, _
ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ByVal TextSide As Size_StringSide = Text_Left, _
ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ PadChar As String = "") As String
Dim sPadChar ΠΊΠ°ΠΊ строка
Если Len (Text1)> = Length2, Ρ‚ΠΎ
SizeString = Left (ВСкст1, Π”Π»ΠΈΠ½Π°2)
Ѐункция Π²Ρ‹Ρ…ΠΎΠ΄Π°
ΠšΠΎΠ½Π΅Ρ†, Ссли
Если Len (PadChar) = 0, Ρ‚ΠΎ
sPadChar = ""
Π•Ρ‰Π΅
sPadChar = Left (PadChar, 1)
ΠšΠΎΠ½Π΅Ρ†, Ссли
Если (TextSide <> Text_Left) ΠΈ (TextSide <> Text_Right), Ρ‚ΠΎ
TextSide = Text_Left
ΠšΠΎΠ½Π΅Ρ†, Ссли
Если TextSide = Text_Left, Ρ‚ΠΎ
SizeString = Text1 & String (Length2 - Len (Text1), sPadChar)
Π•Ρ‰Π΅
SizeString = String (Length2 - Len (Text1), sPadChar) & Text1
ΠšΠΎΠ½Π΅Ρ†, Ссли
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция 

Text1 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку.Length2 ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки. Textside ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ тСкст ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ слСва, ΠΈ Π² этом случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дополняСтся справа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PadChar. Если тСкст Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ справа, строка дополняСтся слСва. Если padChar ΠΎΠΏΡƒΡ‰Π΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π». Если PadChar Π΄Π»ΠΈΠ½Π½Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ символ padChar. Если TextSide Π½Π΅ являСтся Π½ΠΈ Text_Left, Π½ΠΈ Text_Right ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Text_left.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: Поиск символа табуляции Π² строкС

 Dim tab_Str as String
Вусклый символ ΠΊΠ°ΠΊ строка
Dim length_i ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
Dim xCntr_i ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число
tab_Str = "Ρ…ΠΎΡ€ΠΎΡˆΠΎ" & vbTab & "ΡƒΡ‚Ρ€ΠΎ"
length_i = Π”Π»ΠΈΠ½Π° (tab_Str)
char = Left (tab_Str, 1)
Для xCntr_i = 0 To length_i - 1
tabString = Right (tab_Str, Len (tab_Str) - 1)
Если char = Chr (9), Ρ‚ΠΎ
MsgBox «НомСр индСкса» & xCntr_i & Β»- это Π²ΠΊΠ»Π°Π΄ΠΊΠ° Π² строкС."
ΠšΠΎΠ½Π΅Ρ†, Ссли
char = Left (tab_Str, 1)
Π”Π°Π»Π΅Π΅ xCntr_i 

Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ tab_str, char ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ строка Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. length_i ΠΈ xCntr_i ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tab_Str присваиваСтся строка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, содСрТащая символ табуляции. Π”Π»ΠΈΠ½Π° строки, содСрТащСйся Π² tab_Str, вычисляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len (). Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ Π² строкС ΠΈ провСряСм Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ символа табуляции. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ символа табуляции Π² строкС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ MsgBox ().

Π’ этом курсС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ большС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Excel VBA с MrExcel.

ОсвоСниС программирования Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас усилий ΠΏΠΎ созданию Π²Π°ΡˆΠΈΡ… собствСнных ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π₯отя Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. НадСюсь, это руководство ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистом Π½Π° VBA. Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ курсу Excel!

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ страницы: Ρ„Π΅Π²Ρ€Π°Π»ΡŒ 2020 Π³.

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *