Функция за смяна на VBA - Замяна на низ

Този урок ще покаже как да използвате функцията Replace VBA за замяна на низове текст.

Заменете функцията

Функцията VBA Replace връща низ с направени замествания. С използването на незадължителни параметри новият низ може да започне от позицията, определена от начало и завършва в края на оригиналния низ.

VBA Replace Заменете подниза

Функцията VBA Replace може да се използва за заместване на всяка намерена подниза във всяка част, която се намира.

12345678910111213141516 Sub ReplaceExample_1 ()MsgBox Замяна ("ABCABCABC", "A", "!")'Резултатът е: "! BC! BC! BC"MsgBox Replace („Харесва ми розово, червено и черно“, „розово“, „лилаво“)„Резултатът е:„ Харесва ми лилаво, червено и черно “MsgBox Замяна ("A, B, C, A, B, C, A, B, C", ",", ",")"Резултатът е:" ABCABCABC "MsgBox Замяна ("ABCABCABC", "ABC", "!")"Резултатът е:" !!! "MsgBox Замяна ("ABCABCABC", "ABc", "!")"Резултатът е:" ABCABCABC "MsgBox Замяна ("ABCABCABC", "ZBC", "!")"Резултатът е:" ABCABCABC "End Sub

VBA Замяна на изходна позиция

Функцията VBA Replace може да се използва за заместване на всяка намерена подниза във всяка част, която се намира. Ако зададем начална позиция, резултатът ще бъде частта от оригиналния низ след тази начална точка.

12345678910111213 Sub ReplaceExample_2 ()MsgBox Replace ("ABCABCABC", "A", "123") "Резултатът е:" 123BC123BC123BC "MsgBox Replace ("ABCABCABC", "A", "123", 2) "Резултатът е:" BC123BC123BC "MsgBox Replace ("ABCABCABC", "A", "123", 7) "Резултатът е:" 123BC "MsgBox Replace ("ABCABCABC", "A", "123", 8) 'Резултатът е: "BC"MsgBox Replace ("ABCABCABC", "ABC", "!@") "Резултатът е:"!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) "Резултатът е:" BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) 'Резултатът е: "C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) 'Резултатът е: "!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) 'Резултатът е: "BC"End Sub

VBA Заменете само няколко събития

Функцията VBA Replace може да се използва за заместване на всяка намерена подниза във всяка част, която се намира. По избор можем да решим колко събития трябва да бъдат заменени.

123456789101112 Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") "Резултатът е:" 12BC12BC12BC "MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Резултатът е: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Резултатът е: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Резултатът е: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) "Резултатът е:" 12BC12BC12BC "MsgBox Замяна ("ABCABCABC", "A", "12", 3, 1)'Резултатът е: "C12BCABC"„Сменихме A с 12, 1 път, започвайки от позиция 3 на оригиналния низ.End Sub

VBA Замяна на чувствителността на регистъра

Функцията за смяна на VBA по подразбиране е чувствителна към регистъра. Можете да промените това поведение на чувствително към регистъра, като използвате незадължителен параметър (vbTextCompare). В този случай трябва също да определите началната позиция на търсенето.

12345678910111213 Sub ReplaceExample_4 ()MsgBox Замяна ("ABcABCABc", "ABc", "12")'Резултатът е: "12ABC12"MsgBox Замяна ("ABcABCABc", "ABc", "12",,, vbTextCompare)"Резултатът е:" 121212 "„Когато използваме vbTextCompare, трябва да добавим другите 2 незадължителни аргумента:'започнете и бройтеMsgBox Замяна ("ABcABCABcABc", "ABc", "12", 3, 1)'Резултатът е: "cABC12ABc"„Започна от позиция 3 и смени ABC само 1 път.End Sub

Можете също така да извършите Нечувствителна към регистъра Замяна, като добавите Опция Сравняване на текст в горната част на вашия модул:

1 Опция Сравняване на текст

VBA Заменете двойните кавички

Функцията VBA Replace може да замени знака с двойни кавички, използван за разграничаване на началото и края на низ.

Функцията VBA Chr може да върне знак от неговия номер в набора от символи.

1 MsgBox Chr (34) 'Резултатът е: "

Или

1 MsgBox Chr (64) 'Резултатът е: @

Двойни кавички могат да се използват във функцията VBA Replace с помощта на “” ”” или VBA функцията Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx As StringStrEx = "AB" "AB" ""Резултатът на MsgBox StrEx е: AB "AB"MsgBox Replace (StrEx, Chr (34), "12")„Резултатът е: AB12AB12MsgBox Замяна (StrEx, "" "", "DQ")'Резултатът е: "ABDQABDQ"End Sub

VBA Replace Break Line в Cell

Функцията VBA Replace може да намери специален символ на прекъсната линия в клетка и да я премахне или замени с интервал. Специалният символ на прекъснатата линия може да бъде въведен в клетка с помощта на клавишната комбинация Alt+Enter и може да се използва във VBA код с номера на набор от символи, използвайки функцията VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Определете низова променлива„Прочетете стойността на клетка А2 в лист 1 на работен листStrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value„Символът на прекъснатата линия, въведен с Alt+Enter, е Chr (10) и е невидим.„Този ​​код заменя този знак с интервалStrEx = Замяна (StrEx, Chr (10), "")„Запишете заменената стойност в клетка B2 в работен лист Sheet1ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Value = StrExEnd Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave