Vba excel перенос строки

Оформление кода VBA

Начиная практиковаться в написании кода VBA, очень важно с самого начала выработать хорошие привычки в оформлении кода, чтобы в дальнейшем написанный код было легко читать и понимать, как он работает.

В процессе написания кода, программист может иметь совершенно чёткое представление о том, что за код он пишет и как этот код должен работать. Но нужно позаботиться и о том, чтобы, вернувшись к работе спустя полгода, не пришлось ломать голову, пытаясь понять, что должен делать этот код. Ещё более неприятная ситуация – когда кто-то другой станет продолжать Вашу работу над кодом и не сможет понять, как он работает.

Эта статья посвящена комментариям, отступам в коде и переносам строк – элементам, которые делают код аккуратным и понятным.

Комментарии в VBA

Самое важное для написания аккуратного и понятного кода – чаще оставлять комментарии. Комментарии – это строки в коде, которые исполняют роль заметок и помогают разобраться, какие действия выполняет та или иная часть кода.

Комментарии не участвуют в процессе выполнения программы и не влияют на результат работы макроса. Каждая строка, начинающаяся апострофом (‘), будет считаться в VBA комментарием. Редактор VBA в Excel выделит такую строку зелёным цветом шрифта, чтобы с первого взгляда было понятно, что это комментарий, который не будет выполняться.

Ниже продемонстрировано, как при помощи комментариев поясняется работа простой процедуры Sub:

Не расстраивайтесь, если какую-то часть кода, показанного выше, не удалось понять – далее в учебнике мы рассмотрим эту тему подробнее. Цель приведённого примера – продемонстрировать, как при помощи комментариев поясняется каждый блок кода.

Часто программисты ленятся добавлять подробные комментарии к своему коду, но, поверьте, затраченные усилия оправдают себя с избытком! Несколько минут, потраченных на написание понятного комментария, могут сэкономить Вам долгие часы в будущем.

Отступы в коде VBA

Другой приём, делающий написанный код более читаемым – правильно расставлять отступы. В приведённом выше примере видно, что отступ сделан для кода внутри главной процедуры Sub и далее отступ увеличивается для каждого вложенного блока кода. Такие увеличенные отступы помогают понять, где каждый отдельный блок кода начинается и заканчивается.

Переносы строк в VBA

Ещё один способ сделать код более читаемым и облегчить работу с ним – делать переносы и разбивать одну длинную строку кода на несколько коротких. В VBA, чтобы разбить строку, нужно вставить символы ” _” (пробел+подчёркивание) непосредственно перед переносом строки. Это сообщает компилятору VBA, что текущая строка кода продолжается на следующей строке.

Следующий пример демонстрирует, как при помощи переносов строк можно сделать длинные строки кода гораздо более понятными и легко читаемыми.

Посмотрите на этот оператор If:

При помощи переносов строк тот же оператор If может быть записан вот так:

Если рассмотренный оператор If разбит на четыре строки, то составляющие его блоки c условиями видны гораздо более наглядно. Этот пример иллюстрирует, как аккуратное оформление может сделать код более читаемым и привести в результате к меньшему количеству ошибок и путаницы.

Источник: office-guru.ru

Статья Как в Excel сделать перенос текста в ячейке

Dragokas

Very kind Developer

Часто требуется внутри одной ячейки Excel сделать перенос текста на новую строку. То есть переместить текст по строкам внутри одной ячейки как указано на картинке. Если после ввода первой части текста просто нажать на клавишу ENTER, то курсор будет перенесен на следующую строку, но другую ячейку, а нам требуется перенос в этой же ячейке.

Это очень частая задача и решается она очень просто – для переноса текста на новую строку внутри одной ячейки Excel необходимо нажать ALT+ENTER (зажимаете клавишу ALT, затем не отпуская ее, нажимаете клавишу ENTER)

Как перенести текст на новую строку в Excel с помощью формулы

Иногда требуется сделать перенос строки не разово, а с помощью функций в Excel. Вот как в этом примере на рисунке. Мы вводим имя, фамилию и отчество и оно автоматически собирается в ячейке A6

Для начала нам необходимо сцепить текст в ячейках A1 и B1 (A1&B1), A2 и B2 (A2&B2), A3 и B3 (A3&B3)

После этого объединим все эти пары, но так же нам необходимо между этими парами поставить символ (код) переноса строки. Есть специальная таблица знаков (таблица есть в конце данной статьи), которые можно вывести в Excel с помощью специальной функции СИМВОЛ(число), где число это число от 1 до 255, определяющее определенный знак.
Например, если прописать =СИМВОЛ(169), то мы получим знак копирайта ©

Нам же требуется знак переноса строки, он соответствует порядковому номеру 10 – это надо запомнить.
Код (символ) переноса строки – 10
Следовательно перенос строки в Excel в виде функции будет выглядеть вот так СИМВОЛ(10)

Примечание: В VBA Excel перенос строки вводится с помощью функции Chr и выглядит как Chr(10)

Итак, в ячейке A6 пропишем формулу

В итоге мы должны получить нужный нам результат.
Обратите внимание! Чтобы перенос строки корректно отображался необходимо включить “перенос по строкам” в свойствах ячейки.
Для этого выделите нужную нам ячейку (ячейки), нажмите на правую кнопку мыши и выберите “Формат ячеек. ”

В открывшемся окне во вкладке “Выравнивание” необходимо поставить галочку напротив “Переносить по словам” как указано на картинке, иначе перенос строк в Excel не будет корректно отображаться с помощью формул.

Как в Excel заменить знак переноса на другой символ и обратно с помощью формулы

Можно поменять символ перенос на любой другой знак, например на пробел, с помощью текстовой функции ПОДСТАВИТЬ в Excel

Рассмотрим на примере, что на картинке выше. Итак, в ячейке B1 прописываем функцию ПОДСТАВИТЬ:

A1 – это наш текст с переносом строки;
СИМВОЛ(10) – это перенос строки (мы рассматривали это чуть выше в данной статье);
” ” – это пробел, так как мы меняем перенос строки на пробел

Если нужно проделать обратную операцию – поменять пробел на знак (символ) переноса, то функция будет выглядеть соответственно:

Напоминаю, чтобы перенос строк правильно отражался, необходимо в свойствах ячеек, в разделе “Выравнивание” указать “Переносить по строкам”.

Как поменять знак переноса на пробел и обратно в Excel с помощью ПОИСК – ЗАМЕНА

Бывают случаи, когда формулы использовать неудобно и требуется сделать замену быстро. Для этого воспользуемся Поиском и Заменой. Выделяем наш текст и нажимаем CTRL+H, появится следующее окно.

Если нам необходимо поменять перенос строки на пробел, то в строке “Найти” необходимо ввести перенос строки, для этого встаньте в поле “Найти”, затем нажмите на клавишу ALT, не отпуская ее наберите на клавиатуре 010 – это код переноса строки, он не будет виден в данном поле.

После этого в поле “Заменить на” введите пробел или любой другой символ на который вам необходимо поменять и нажмите “Заменить” или “Заменить все”.

Кстати, в Word это реализовано более наглядно.

Если вам необходимо поменять символ переноса строки на пробел, то в поле “Найти” вам необходимо указать специальный код “Разрыва строки”, который обозначается как ^l
В поле “Заменить на:” необходимо сделать просто пробел и нажать на “Заменить” или “Заменить все”.

Вы можете менять не только перенос строки, но и другие специальные символы, чтобы получить их соответствующий код, необходимо нажать на кнопку “Больше >>”, “Специальные” и выбрать необходимый вам код. Напоминаю, что данная функция есть только в Word, в Excel эти символы не будут работать.

Читайте также:  Как в excel расширить все строки

Как поменять перенос строки на пробел или наоборот в Excel с помощью VBA

Рассмотрим пример для выделенных ячеек. То есть мы выделяем требуемые ячейки и запускаем макрос

1. Меняем пробелы на переносы в выделенных ячейках с помощью VBA

Источник: safezone.cc

Строковые функции (Visual Basic) String Functions (Visual Basic)

В следующей таблице перечислены функции, которые Visual Basic предоставляет в классе Microsoft.VisualBasic.Strings для поиска строк и управления ими. The following table lists the functions that Visual Basic provides in the Microsoft.VisualBasic.Strings class to search and manipulate strings. Их можно рассматривать как Visual Basic встроенных функций; то есть вам не нужно вызывать их как явные члены класса, как показано в примерах. They can be regarded as Visual Basic intrinsic functions; that is, you do not have to call them as explicit members of a class, as the examples show. Дополнительные методы и в некоторых случаях дополняют методы, доступны в классе System.String. Additional methods, and in some cases complementary methods, are available in the System.String class.

Метод .NET Framework .NET Framework method Описание Description
Asc, AscW Asc, AscW Возвращает значение типа Integer , представляющее код символа, соответствующий символу. Returns an Integer value representing the character code corresponding to a character.
Chr, ChrW Chr, ChrW Возвращает символ, связанный с указанным кодом символа. Returns the character associated with the specified character code.
Filter Возвращает массив с отсчетом от нуля, содержащий подмножество массива String , на основе указанных условий фильтра. Returns a zero-based array containing a subset of a String array based on specified filter criteria.
Format Возвращает строку, отформатированную в соответствии с инструкциями, содержащимися в формате String выражении. Returns a string formatted according to instructions contained in a format String expression.
FormatCurrency Возвращает выражение, отформатированное как денежное значение, используя символ валюты, определенный на панели управления системы. Returns an expression formatted as a currency value using the currency symbol defined in the system control panel.
FormatDateTime Возвращает строковое выражение, представляющее значение даты и времени. Returns a string expression representing a date/time value.
FormatNumber Возвращает выражение, отформатированное как число. Returns an expression formatted as a number.
FormatPercent Возвращает выражение в виде процента (умноженное на 100) с символом % в конце. Returns an expression formatted as a percentage (that is, multiplied by 100) with a trailing % character.
InStr Возвращает целое число, указывающее начальную точку первого вхождения одной строки в другую. Returns an integer specifying the start position of the first occurrence of one string within another.
InStrRev Возвращает расположение первого вхождения одной строки в другую, начиная с правой части строки. Returns the position of the first occurrence of one string within another, starting from the right side of the string.
Join Возвращает строку, созданную путем объединения нескольких подстрок, содержащихся в массиве. Returns a string created by joining a number of substrings contained in an array.
LCase Возвращает строку или символ, преобразованные в нижний регистр. Returns a string or character converted to lowercase.
Left Возвращает строку, содержащую указанное число символов с левой стороны строки. Returns a string containing a specified number of characters from the left side of a string.
Len Возвращает целое число, содержащее количество символов в строке. Returns an integer that contains the number of characters in a string.
LSet Возвращает строку с выравниванием влево, содержащую указанную строку, скорректированную до указанной длины. Returns a left-aligned string containing the specified string adjusted to the specified length.
LTrim Возвращает строку, содержащую копию указанной строки без начальных пробелов. Returns a string containing a copy of a specified string with no leading spaces.
Mid Возвращает строку, содержащую указанное число символов из строки. Returns a string containing a specified number of characters from a string.
Replace Возвращает строку, в которой указанная подстрока была заменена другой подстрокой указанное число раз. Returns a string in which a specified substring has been replaced with another substring a specified number of times.
Right Возвращает строку, содержащую указанное число символов от правой части строки. Returns a string containing a specified number of characters from the right side of a string.
RSet Возвращает строку с выравниванием по правому краю, содержащую указанную строку, скорректированную до указанной длины. Returns a right-aligned string containing the specified string adjusted to the specified length.
RTrim Возвращает строку, содержащую копию указанной строки без конечных пробелов. Returns a string containing a copy of a specified string with no trailing spaces.
Space Возвращает строку, состоящую из указанного числа пробелов. Returns a string consisting of the specified number of spaces.
Split Возвращает одномерный массив (с отсчетом от нуля), содержащий указанное число подстрок. Returns a zero-based, one-dimensional array containing a specified number of substrings.
StrComp Возвращает-1, 0 или 1 на основе результата сравнения строк. Returns -1, 0, or 1, based on the result of a string comparison.
StrConv Возвращает строку, преобразованную указанным образом. Returns a string converted as specified.
StrDup Возвращает строку или объект, состоящий из указанного символа, повторяемого указанное число раз. Returns a string or object consisting of the specified character repeated the specified number of times.
StrReverse Возвращает строку, в которой порядок символов в указанной строке изменяется на обратный. Returns a string in which the character order of a specified string is reversed.
Trim Возвращает строку, содержащую копию указанной строки без начальных или конечных пробелов. Returns a string containing a copy of a specified string with no leading or trailing spaces.
UCase Возвращает строку или символ, содержащий указанную строку, преобразованную в верхний регистр. Returns a string or character containing the specified string converted to uppercase.

С помощью инструкции Option Compare можно задать, сравниваются ли строки с использованием порядка сортировки текста без учета регистра, определенного языковым стандартом системы ( Text ) или внутренними двоичными представлениями символов ( Binary ). You can use the Option Compare statement to set whether strings are compared using a case-insensitive text sort order determined by your system’s locale ( Text ) or by the internal binary representations of the characters ( Binary ). Метод сравнения текста по умолчанию — Binary . The default text comparison method is Binary .

Пример: Укасе Example: UCase

В этом примере используется функция UCase , которая возвращает версию строки в верхнем регистре. This example uses the UCase function to return an uppercase version of a string.

Пример: LTrim Example: LTrim

В этом примере функция LTrim используется для удаления начальных пробелов и функции RTrim для удаления конечных пробелов из строковой переменной. This example uses the LTrim function to strip leading spaces and the RTrim function to strip trailing spaces from a string variable. Для удаления обоих типов пробелов используется функция Trim . It uses the Trim function to strip both types of spaces.

Пример: mid Example: Mid

В этом примере функция Mid используется для возврата указанного числа символов из строки. This example uses the Mid function to return a specified number of characters from a string.

Пример: len Example: Len

В этом примере для возврата числа символов в строке используется Len . This example uses Len to return the number of characters in a string.

Пример: InStr Example: InStr

В этом примере используется функция InStr , которая возвращает расположение первого вхождения одной строки в другую. This example uses the InStr function to return the position of the first occurrence of one string within another.

Пример: Format Example: Format

В этом примере показаны различные варианты использования функции Format для форматирования значений с помощью String форматов и пользовательских форматов. This example shows various uses of the Format function to format values using both String formats and user-defined formats. Для разделителя даты ( / ), разделителя времени ( : ) и индикаторов AM/PM ( t и tt ) фактически отформатированные выходные данные, отображаемые системой, зависят от параметров языкового стандарта, используемых кодом. For the date separator ( / ), time separator ( : ), and the AM/PM indicators ( t and tt ), the actual formatted output displayed by your system depends on the locale settings the code is using. Если время и даты отображаются в среде разработки, используются короткий формат времени и короткий формат даты языкового стандарта кода. When times and dates are displayed in the development environment, the short time format and short date format of the code locale are used.

Для национальных настроек, в которых используется 24-часовой формат времени, индикаторы AM/PM ( t и tt ) ничего не отображают. For locales that use a 24-hour clock, the AM/PM indicators ( t and tt ) display nothing.

Источник: docs.microsoft.com

sitesaid.ru

Создание сайта

Работа со строками в Visual Basic

Справочные данные Visual Basic 6.0
Поэтапное создания программ
Элементы программирования
Основы программирования

Для работы в Visual Basic со строками используется оператор объединения, называемый также оператором конкатенации, и встроенные функции. Список наиболее часто используемых функции для работы со строками приведен ниже:

Функции Str и Val
Функции, удаляющие пробелы.
Выделение подстроки.
Преобразование строки.
Определение положения строки.
Объединение строк.

Функции Str и Val

Функция Str о преобразовывает численное значение в символьное представление. Синтаксис функции следующий:

Str (число)
Функция Val () преобразовывает символьную строку в численное значение.
Синтаксис функции:
Val (символьноеВыражение)

При преобразовании строки символов в число учитываются все цифровые символы, расположенные в строке слева направо. Пробелы, находящиеся в начале и конце символьной строки, игнорируются. Пробелы внутри строки недопустимы. Если первый символ выражения не является цифрой, функция Val возвратит значение ноль.

Рассмотрим следующий пример. Зададим в окне Immediate две символьные строки а и b следующего вида:

а=”10″
b=”12″
При сложении этих двух строк получается символьная строка
“1012”
Если сложить две символьные строки, предварительно преобразовав их в числа, и распечатать с помощью команды,
Print Val (а) + Val (b)
то получится число 22.

Функции, удаляющие пробелы в символьной строке

Функции LTrim, Rtrim и Trim используются для удаления пробелов в символьной строке.

Функция

Назначение

LTrim

Удаляет пробелы, расположенные в начале символьной строки

RTrim

Удаляет пробелы, расположенные в конце символьной строки

Удаляет пробелы, расположенные в начале и в конце символьной строки

Пример использования этих функции приведен ниже:

cCoinment= ” Удаление пробелов ”
Print LTrim(cComment) ‘ Возвращает “Удаление пробелов ”
Print RTrim(cCornment) ‘ Возвращает ” Удаление пробелов”
Print Trim(cComrnent) ‘ Возвращает “Удаление пробелов”

Выделение подстроки

Вы можете выделить подстроку заданной символьной строки, используя функции Left, Right и Mid. Функции Left и Right выделяют строку начиная с крайнего левого или крайнего правого символа, а функция Mid позволяет выбрать любую подстроку.
Синтаксис функций:

Left(выражение, числоСимволов)
Right(выражение, числоСимволов)
Mid(выражение, номерПозиции [, числоСимволов ])

Ниже приведены примеры использования этих функций и возвращаемые ими значения:

cConmtent= “Выделение подстроки”
Print Left(cConroent,3) ‘ Возвращает “Выд”
Print Right (cCornment, 6) ‘ Возвращает “строки”
Print Mid (cCornment, 11,3) ‘ Возвращает “под”

Преобразование строки

Функции UCase о и Lease о используются в Visual Basic для преобразования строчных символов в заглавные и заглавных в строчные. Помимо этого, в Visual Basic имеется функция StrConv, которая преобразовывает выражение к имени собственному, начинающемуся с заглавной буквы.

Функции UCase () и LCase () возвращают значения, имеющие тип Variant. Для того чтобы возвращаемое значение имело тип string, необходимо использовать функции UCase$ () и Lcase$ ().

Функция UCase
Функция ucase преобразует все строчные буквы в символьной строке в заглавные. Синтаксис функции: UCase (символьнаяСтрока) Например: cComment = “вывод” Print UCase(cComment) ‘ Возвращает “ВЫВОД” Print UCase$(cComment) ‘ Возвращает “ВЫВОД

Функция LCase
Функция LCase возвращает заданную символьную строку, в которой все заглавные буквы преобразованы в строчные. Синтаксис функции: LCase(символьнаяСтрока) Например: cComment= “ВЫВОД” Print LCase(cComment) ‘ Возвращает “вывод” Print LCase$(cComment) ‘ Возвращает “вывод”

Функция StrConv
Функция StrConv преобразовывает выражение, написанное строчными или заглавными буквами, в имя собственное. Например: cComment = “Петр Петрович Петров” Print StrConv(cComment,vbProperCase) ‘ Возвращает “Петр Петрович Петров” Аналогичный результат будет получен и в следующем случае: cComment = “ПЕТР ПЕТРОВИЧ ПЕТРОВ” Print StrConv(cComment, vbProperCase) ‘ Возвращает “Петр Петрович Петров”

Определение положения строки в другой строке

Visual Basic содержит две функции, позволяющие осуществлять поиск символьной строки в другой: inStr о и inStrRev о. Эти функции отличаются тем, что inStr о осуществляет поиск с начала строки и до ее конца, а InStrRev о проводит поиск в обратном направлении, то есть от конца строки к началу.

Функция inStr () имеет следующий упрощенный синтаксис:

InStr (исходнаяСтрока, строкаПоиска)

В результате проведенного поиска функция возвращает число, указывающее номер позиции первого вхождения строки.
Рассмотрим такой пример. Введите в окне Immediate следующую команду:

Print InStr (“Сегодня прекрасная погода”, “погода”)

В результате будет возвращено число 20.

Объединение строк

В Visual Basic для работы со строками можно использовать только один оператор — оператор объединения. С помощью данного оператора можно объединять несколько строк в одну. Этот оператор обозначается символом амперсанда (&).

В предыдущих версиях Visual Basic для объединения строк использовался символ “плюс” (+). В Visual Basic 6 этот оператор также поддерживается.

Например, объединение строк удобно использовать при формировании полного адреса, если известен индекс, город и улица. В следующем примере и на рис. 5.7 показан результат объединения фамилии, имени и отчества в окне Immediate:

sLastName = “Петр ”
sFirstName = “Петрович”
sSecondName = “Петров”
sName = sLastName & sFirstName & sSecondName
Print sName ‘ Возвращает “Петр Петрович Петров”

Источник: sitesaid.ru

Перенос строки в пределах ячейки в Microsoft Excel

Как известно, по умолчанию в одной ячейке листа Excel располагается одна строка с числами, текстом или другими данными. Но, что делать, если нужно перенести текст в пределах одной ячейки на другую строку? Данную задачу можно выполнить, воспользовавшись некоторыми возможностями программы. Давайте разберемся, как сделать перевод строки в ячейке в Excel.

Способы переноса текста

Некоторые пользователи пытаются перенести текст внутри ячейки нажатием на клавиатуре кнопки Enter. Но этим они добиваются только того, что курсор перемещается на следующую строку листа. Мы же рассмотрим варианты переноса именно внутри ячейки, как очень простые, так и более сложные.

Способ 1: использование клавиатуры

Самый простой вариант переноса на другую строку, это установить курсор перед тем отрезком, который нужно перенести, а затем набрать на клавиатуре сочетание клавиш Alt+Enter.

В отличие от использования только одной кнопки Enter, с помощью этого способа будет достигнут именно такой результат, который ставится.

Способ 2: форматирование

Если перед пользователем не ставится задачи перенести на новую строку строго определенные слова, а нужно только уместить их в пределах одной ячейки, не выходя за её границы, то можно воспользоваться инструментом форматирования.

    Выделяем ячейку, в которой текст выходит за пределы границ. Кликаем по ней правой кнопкой мыши. В открывшемся списке выбираем пункт «Формат ячеек…».

  • Открывается окно форматирования. Переходим во вкладку «Выравнивание». В блоке настроек «Отображение» выбираем параметр «Переносить по словам», отметив его галочкой. Жмем на кнопку «OK».
  • После этого, если данные будут выступать за границы ячейки, то она автоматически расширится в высоту, а слова станут переноситься. Иногда приходится расширять границы вручную.

    Чтобы подобным образом не форматировать каждый отдельный элемент, можно сразу выделить целую область. Недостаток данного варианта заключается в том, что перенос выполняется только в том случае, если слова не будут вмещаться в границы, к тому же разбитие осуществляется автоматически без учета желания пользователя.

    Способ 3: использование формулы

    Также можно осуществить перенос внутри ячейки при помощи формул. Этот вариант особенно актуален в том случае, если содержимое выводится с помощью функций, но его можно применять и в обычных случаях.

    1. Отформатируйте ячейку, как указано в предыдущем варианте.
    2. Выделите ячейку и введите в неё или в строку формул следующее выражение:

    Вместо элементов «ТЕКСТ1» и «ТЕКСТ2» нужно подставить слова или наборы слов, которые хотите перенести. Остальные символы формулы изменять не нужно.

  • Для того, чтобы результат отобразился на листе, нажмите кнопку Enter на клавиатуре.
  • Главным недостатком данного способа является тот факт, что он сложнее в выполнении, чем предыдущие варианты.

    В целом пользователь должен сам решить, каким из предложенных способов оптимальнее воспользоваться в конкретном случае. Если вы хотите только, чтобы все символы вмещались в границы ячейки, то просто отформатируйте её нужным образом, а лучше всего отформатировать весь диапазон. Если вы хотите устроить перенос конкретных слов, то наберите соответствующее сочетание клавиш, как рассказано в описании первого способа. Третий вариант рекомендуется использовать только тогда, когда данные подтягиваются из других диапазонов с помощью формулы. В остальных случаях использование данного способа является нерациональным, так как имеются гораздо более простые варианты решения поставленной задачи.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Источник: lumpics.ru

    Строки

    Titles = “Queen ”
    Name$ = “Elizabeth ”
    Numeral$ = “I”
    Title$ & Name$ &. Numeral$ = “Queen Elizabeth I”
    Title$ 6 Name$ & Numeral$ & Numeral$ = “Queen Elizabeth II”

    Оператор & объединяет строки в том порядке, как они представлены. Поэтому, в отличие от суммирования чисел, для слияния строк важен их порядок следования. С помощью & можно складывать сколько угодно строковых значении. Ниже приведен пример с использованием уже объявленных выше переменных:

    CurrentQueen$ = Title$ & Name$ & Numeral$ & Numeral$

    Совет: Основным отличием оператора & от + является возможность использования & для объединения строковых данных с другими их типами. Например, выражение С=А% & В$ объединяет целочисленную и строковую переменные, изменяя тип их значений на variant.

    У компьютера нет отдельного участка памяти для хранения текста, а еще одного – для чисел. Все, что поступает в память компьютера, преобразуется в числовой формат (реально – в двоичное представление). В программе помечается только, что данный участок оперативной памяти содержит закодированный текст. Обычно формат для преобразования текстовой информации в цифровую называется ASCII (American Standard Code for Information Interchange). Данный формат присваивает каждому символу соответствующее число в диапазоне от 0 до 255, хотя Windows не может вывести на экран все 255 символов и использует более ограниченный их набор ANSI (American National Standards Institute). Управляющие символы, а также специальные типа табуляции или перевода строки -имеют номера до 32. Значением функции Chr(n) является символ, соответствующий числу п из формата ASCII. Оператор

    либо выводит на экран символ, соответствующий коду ASCII, текущим шрифтом, либо имеет место особый эффект в зависимости от типа управляющего символа. Например, оператор

    выводит греческую букву “пи” на экране, если перед этим значение FontType было установлено как MS LineDraw при помощи окна Propoties или через Code.
    Следующий пример использует код символа кавычек (“), 34, для вывода на экран фразы, заключенной в кавычки с обеих сторон:

    Print Chr (34) ;
    Print “Quoth the raven, nevermore.” ;
    Print Chr (34)

    Совет: Функция Chr возвращает строку, хранимую в типе variant. Аналогичная более старая функция ChrS возвращает непосредственно строковое значение.

    На экране будет выведено

    “Quoth the raven, nevermore.”

    Примечание: Предыдущий результат можно получить с помощью оператора:

    Print “‘”‘Quoth the raven, nevermore.””” ;

    так как Visual Basic, в отличие от многих версий BASIC, воспринимает два символа кавычек как один и выводит его на экран в выражениях с оператором Print или при работе со строковыми значениями.

    В Visual Basic существует функция Asc, параметром которой является строковое значение, а результат равняется коду ASCII для первого символа. Если строка пустая, функция выдаст ошибку во время выполнения (run time error).
    Порядок ASCII/ANSI используется по умолчанию Visual Basic при сравнении различных строк с помощью операторов сравнения, таких как > и

    Примечание: Внутри Visual Basic используется Unicode – система, поддерживающая все возможные языки. В ней содержится порядка 65 тысяч различных символов. Более подробно об этом можно узнать из приложения к книге “Руководство программиста”. За исключением нескольких особых ситуаций, включая двоичные файлы, переключение между ASCII и Unicode является вполне прозрачным для программиста.

    Переход на новую строку

    В ранних версиях Visual Basic одним из основных способов использования функции Chr является формирование управляющих символов для перехода к новой строке в программах. Переход к новой строке используется при работе с многостроковыми полями ввода или при добавлении информации в информационной панели. Как и в старых печатных машинках, для перехода на новую строку необходимо проделать две операции: перевод каретки (carriage return) для возврата к первому символу строки, а затем перевод строки для перехода на следующую строку. При использовании функции Chr переход на новую строку выглядит так:

    vbCrLf = Chr (13) + Chr (10)

    Но теперь имеется возможность использовать встроенную константу vbCrLf.
    Например, необходимо разорвать строку в информационной панели или в многостроковом поле ввода. Быстрее всего это реализовать с использованием vbCrLf:

    TextString$ = “Visual Basic For Windows” + vbCrLf
    TextString$ = TextString$ + “Osborne McGraw-Hill” + vbCrLf
    TextString$ = TextString$ + “Berkeley, CA”
    Textl.Text = TextString$

    Совет: Если пренебречь установкой свойства MultiLine в значение True и попробовать применить переход на новую строку, то на экране можно будет увидеть две интересные вертикальные линейки прокрутки.

    Кстати, может возникнуть вопрос: почему строковые значения сначала “накапливаются”, а только затем выводятся на экран. Ответ прост: это один из основных способов ускорения работы программ на Visual Basic.

    Совет: Гораздо быстрее сначала скомпоновать всю строку, а затем использовать свойство Text, чем изменять его постоянно.

    Аналогичным образом можно ускорить формирование информационной панели, если в ней необходимо вывести несколько строк:

    Message$ = “This will be on line 1.”
    Message = Message$ + vbCrLf + “This will be on line 2.”
    MsgBox Message$

    Другие полезные строковые константы

    Кроме константы vbcrLf, существует еще ряд других, не менее полезных встроенных констант (см. таблицу далее). Все эти константы можно использовать в программах на Visual Basic вместо соответствующих значений функций Chr$ или Chr. Однако для Microsoft Windows применение найдут только коды для carriage return, line feed, tab и backspace.

    Строки фиксированной длины

    Строки фиксированной длины представляют собой специальный тип строки, в дальнейшем часто используемый. Подобные переменные создаются при помощи оператора Dim. Вот пример:

    Dim ShortString As String * 10
    Dim strShort As String * 10

    Источник: visualprogs.ru