Vba excel выделить дробную часть
Для форматирования чисел предназначены следующие функции:
- FormatNumber() — возвращает строковое представление числа в соответствии с заданным форматом. Синтаксис функции:
- FormatPercent() — возвращает строковое представление числа в виде процентов в соответствии с заданным форматом. Значение умножается на 100 и в конец добавляется символ процента ( % ). Формат функции:
- FormatCurrency() — возвращает строковое представление числа в денежном формате. В конце добавляется символ валюты. Формат функции:
Параметры в функциях FormatNumber() , FormatPercent() и FormatCurrency() имеют следующий смысл:
- NumDigitsAfterDecimal — задает количество цифр после десятичной точки. По умолчанию параметр имеет значение -1 , которое означает, что используются региональные настройки. Пример:
- IncludeLeadingDigit — определяет нужно ли отображать нулевую целую часть числа. Если указана константа vbTrue (или число -1 ), то нуль отображается, если vbFalse (или число 0 ) — то нет. По умолчанию параметр имеет значение константы vbUseDefault ( -2 ), которое означает, что будут использоваться региональные настройки. Пример:
- UseParensForNegativeNumbers — если указана константа vbTrue (или число -1 ), то отрицательные значение будут отображаться внутри круглых скобок без знака числа, если vbFalse (или число 0 ) — то нет. По умолчанию параметр имеет значение константы vbUseDefault ( -2 ), которое означает, что будут использоваться региональные настройки. Пример:
- GroupDigits — если указана константа vbTrue (или число -1 ), то тысячные группы будут разделяться через символ, указанный в региональных настройках (например, через пробел), если vbFalse (или число 0 ) — то нет. По умолчанию параметр имеет значение константы vbUseDefault ( -2 ), которое означает, что будут использоваться региональные настройки. Пример:
Функция Format()
Форматировать числа позволяет также функция Format() . Помимо чисел можно отформатировать и вывод значения даты и времени, а также строк. Формат функции:
Необязательный параметр Format задает выражение формата, параметр FirstDayOfWeek — первый день недели (константы vbMonday , vbTuesday , vbWednesday , vbThursday , vbFriday , vbSaturday , vbSunday (значение по умолчанию) и vbUseSystemDayOfWeek ), а параметр FirstWeekOfYear — первую неделю года (константы vbFirstJan1 (значение по умолчанию), vbFirstFullWeek , vbFirstFourDays и vbUseSystem ).
В параметре Format указываются следующие значения в виде строки:
- General Number — отображает число без разделителя тысячных групп:
- Fixed — выводит число без разделителя тысячных групп с двумя цифрами после десятичной точки:
- Standard — отображает число с разделителями тысячных групп и двумя цифрами после десятичной точки:
- Percent — возвращает строковое представление числа в виде процентов. Значение умножается на 100 и в конец добавляется символ процента ( % ). Число отображается без разделителя тысячных групп с двумя цифрами после десятичной точки:
- Currency — денежный формат. Число отображается с разделителями тысячных групп, двумя цифрами после десятичной точки и символа валюты в зависимости от региональных настроек:
- Scientific — формат с плавающей десятичной точкой:
- Yes/No — отображает значение Нет , если число равно 0 , и Да — в противном случае:
- True/False — выводит значение Ложь , если число равно 0 , и Истина — в противном случае:
- On/Off — отображает значение Выкл , если число равно 0 , и Вкл — в противном случае:
- General Date — выводит дату и/или время в соответствии с региональными настройками:
- Long Date — отображает дату в соответствии с полным форматом:
- Medium Date — выводит дату в соответствии со средним форматом:
- Short Date — отображает дату в соответствии с сокращенным форматом:
- Long Time — выводит часы, минуты и секунды в соответствии с полным форматом:
- Medium Time — отображает часы и минуты в 12-часовом формате:
- Short Time — выводит часы и минуты в 24-часовом формате:
В параметре Format можно также указать шаблон с пользовательским форматом. В этом случае в строке используются следующие специальные символы:
- . (точка) — резервирует позицию десятичной точки:
- , (запятая) — резервирует позицию разделителя тысячных групп:
- % — значение умножается на 100 и в позицию символа-заполнителя добавляется символ процента ( % ):
- E- и e- — отображение числа в научном формате. Знак порядка отображается только для отрицательных значений:
- E+ и e+ — отображение числа в научном формате. Знак порядка отображается в любом случае:
- yy — год из двух цифр (от "00" до "99" );
- yyyy — год из четырех цифр (например, "2012" );
- m — номер месяца без предваряющего нуля (от "1" до "12" ). Если перед спецсимволом m стоит спецсимвол h или hh , то выводятся минуты без предваряющего нуля:
- mm — номер месяца с предваряющим нулем (от "01" до "12" ). Если перед спецсимволом mm стоит спецсимвол h или hh , то выводятся минуты с предваряющим нулем:
- mmm — аббревиатура месяца в зависимости от настроек локали (например, "сен" для сентября);
- mmmm — название месяца в зависимости от настроек локали (например, "Сентябрь" );
- d — номер дня в месяце без предваряющего нуля (от "1" до "31" );
- dd — номер дня в месяце с предваряющим нулем (от "01" до "31" );
- y — номер дня с начала года (от "1" до "366" );
- q — номер квартала (от "1" до "4" );
- ww — номер недели в году (от "1" до "54" );
- w — номер дня недели ( "1" — для воскресенья, "7" — для субботы);
- ddd — аббревиатура дня недели в зависимости от настроек локали (например, "Чт" для четверга);
- dddd — название дня недели в зависимости от региональных настроек (например, "четверг" );
- h — часы без предваряющего нуля (от "0" до "23" );
- hh — часы с предваряющим нулем (от "00" до "23" );
- n — минуты без предваряющего нуля (от "0" до "59" );
- nn — минуты с предваряющим нулем (от "00" до "59" );
- s — секунды без предваряющего нуля (от "0" до "59" );
- ss — секунды с предваряющим нулем (от "00" до "59" );
- ddddd — отображает дату в соответствии с сокращенным форматом:
- dddddd — отображает дату в соответствии с полным форматом:
- c — отображает дату и время в соответствии с сокращенным форматом:
- / — символ-разделитель для даты в зависимости от региональных настроек:
- : — символ-разделитель для времени в зависимости от региональных настроек:
- @ — символ или пробел, если символа нет. Если символов не хватает, то по умолчанию (если не указан спецсимвол ! ) строка выравнивается по правому краю. Пример:
Шаблон с пользовательским форматом может содержать не только специальные символы, но и обычные символы. Если необходимо отобразить специальный символ как обычный, то перед символом следует указать защитный слеш ( \ ) или заключить текстовый фрагмент в кавычки. Так как кавычки обрамляют строку, нужно заключить фрагмент в удвоенные кавычки, а не в одинарные. Пример:
Если нужно вывести защитный слеш ( \ ), то его следует удвоить:
При форматировании чисел шаблон может содержать от одной до четырех секций, разделяемых с помощью точки с запятой ( ; ):
- одна секция только — шаблон относится ко всему значению;
- две секции — первая секция задает шаблон для положительных значений и нуля, а вторая секция — для отрицательных значений:
- три секции — первая секция задает шаблон для положительных значений, вторая секция — для отрицательных значений, а третья секция — для нуля:
- четыре секции — первая секция задает шаблон для положительных значений, вторая секция — для отрицательных значений, третья секция — для нуля, а четвертая секция — для значения Null :
При форматировании строки шаблон может содержать от одной до двух секций, разделяемых с помощью точки с запятой ( ; ):
- одна секция только — шаблон относится ко всей строке;
- две секции — первая секция задает шаблон для строки, а вторая секция — для значения Null и пустой строки:
Функция Format() возвращает значение типа Variant (String) . Чтобы получить значение типа String следует использовать функцию Format$() , имеющую тот же самый формат. Пример:
Финансовые функции
Язык VBA содержит много встроенных функций, предназначенных для выполнения финансовых операций. Например, функции DDB() , SLN() и SYD() позволяют вычислить величину амортизации имущества различными способами. Все финансовые функции являются специфическими и не представляют особого интереса для большинства программистов, поэтому мы не будем рассматривать их в этой книге. За подробной информацией по финансовым функциям обращайтесь к документации.
Статьи по Visual Basic for Applications (VBA)
Помощь сайту
Yandex-деньги: 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает целую часть числа.
Перегрузки
Возвращает целую часть числа.
Возвращает целую часть числа.
Возвращает целую часть числа.
Возвращает целую часть числа.
Возвращает целую часть числа.
Возвращает целую часть числа.
Возвращает целую часть числа.
Fix(Decimal)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Decimal или любое допустимое числовое выражение.
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
См. также раздел
Применяется к
Fix(Double)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Double или любое допустимое числовое выражение.
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
Начиная с Visual Basic 15.8 производительность Double преобразования типа -integer оптимизирована при передаче значения, возвращаемого методом Fix любому из целочисленных функций преобразования, или если Double возвращаемое Fix значение неявно преобразуется в целочисленное число с параметром Strict. Off Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы. В следующем примере показано такое оптимизированное преобразование:
См. также раздел
Применяется к
Fix(Int16)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Short или любое допустимое числовое выражение.
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
См. также раздел
Применяется к
Fix(Int32)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Integer или любое допустимое числовое выражение.
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
См. также раздел
Применяется к
Fix(Int64)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Long или любое допустимое числовое выражение.
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
См. также раздел
Применяется к
Fix(Object)
Возвращает целую часть числа.
Параметры
Обязательный. Число типа Object или любое допустимое числовое выражение. Если параметр Number имеет значение Nothing , то возвращается значение Nothing .
Возвращаемое значение
Целая часть числа.
Исключения
Число не указано.
Число не является числовым типом.
Примеры
В этом примере показано, как Int функции Fix возвращают целые части чисел. В случае аргумента отрицательного числа Int функция возвращает первое отрицательное целое число меньше или равно числу; Fix функция возвращает первое отрицательное целое число больше или равно числу. В следующем примере требуется указать Option Strict Off , так как неявные преобразования из типа в тип Double Integer запрещены в следующих Option Strict On случаях:
Функцию можно использовать для явного CInt преобразования других типов данных в тип Integer с помощью Option Strict Off . CInt Однако округляется до ближайшего целого числа вместо усечения дробной части чисел. Пример:
Функцию CInt можно использовать в результате вызова Fix или Int для выполнения явного преобразования в целое число без округления. Пример:
Дополнительные сведения см. в CInt разделе "Функции преобразования типов".
Комментарии
Int Fix Обе функции удаляют дробную часть Number и возвращают полученное целое значение.
Разница между Int и Fix функциями заключается в том, что если Number отрицательный, Int возвращает первое отрицательное целое число меньше или равно Number , в то время как Fix возвращает первое отрицательное целое число больше или равно Number . Например, Int преобразует -8,4 в -9 и Fix преобразует -8,4 в -8.
Fix(number) — это эквивалент Sign(number) * Int(Abs(number)).
Начиная с Visual Basic 15.8, если Number аргумент является объектом, типом среды выполнения которого является Double или Single производительность преобразования с плавающей запятой в целочисленное значение оптимизировано при передаче значения, возвращаемого Fix методом любому из функций целочисленного преобразования, или если возвращаемое значение Fix автоматически преобразуется в целочисленное число с параметром Strict в значение Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы. Пример:
Decimal – это числовой тип данных, предназначенный для проведения вычислений, требующих высокой точности и не допускающих автоматического перевода в экспоненциальную форму. Он поддерживает до 29 значащих цифр в числе, независимо от положения запятой.
Decimal не является типом данных с плавающей запятой, в отличие от типов Single и Double. Он содержит целое двоичное значение вместе с битом знака и целочисленным коэффициентом масштабирования, который указывает, какая часть значения представляет дробную часть.
Decimal является самым медленным по производительности числовым типом данных, но числа в его формате имеют более точное представление в памяти, чем типы с плавающей запятой.
В настоящее время в VBA Excel нет отдельного типа данных Decimal, но он доступен внутри типа Variant. Для получения числа типа Decimal и присвоения его переменной типа Variant используется функция CDec . Длинное число перед преобразованием в Decimal должно быть в текстовом формате.
Если число типа Decimal записать в ячейку рабочего листа общего формата, оно будет автоматически преобразовано в экспоненциальную форму. Чтобы этого не случилось, ячейке необходимо назначить текстовый формат, а число перед записью конвертировать в строку.
Диапазон чисел типа Decimal
- Максимальное значение числа без дробных разрядов: +/-79228162514264337593543950335 (+/-7,9228162514264337593543950335E+28).
- Наибольшее значение числа с 28 десятичными знаками: +/-7,9228162514264337593543950335.
- Наименьшее ненулевое значение: +/-0,0000000000000000000000000001 (+/-1E-28).
Тип данных Decimal может использоваться в финансовой сфере и при научных вычислениях. На практике, для большинства расчетов, применяются менее точные числовые типы данных.
Пример кода в VBA Excel
Присвоим с помощью кода VBA Excel максимальные по длине числа типа данных Decimal переменным, проведем математическую операцию с числами и запишем ее результат в ячейки рабочего листа с преобразованием значения в текст и без преобразования:
Объект Range в VBA Excel представляет диапазон ячеек. Он (объект Range) может описывать любой диапазон, начиная от одной ячейки и заканчивая сразу всеми ячейками рабочего листа.
- Одна ячейка – Range("A1") .
- Девять ячеек – Range("A1:С3") .
- Весь рабочий лист в Excel 2016 – Range("1:1048576") .
Для справки: выражение Range("1:1048576") описывает диапазон с 1 по 1048576 строку, где число 1048576 – это номер последней строки на рабочем листе Excel 2016.
В VBA Excel есть свойство Cells объекта Range, которое позволяет обратиться к одной ячейке в указанном диапазоне (возвращает объект Range в виде одной ячейки). Если в коде используется свойство Cells без указания диапазона, значит оно относится ко всему диапазону активного рабочего листа.
Примеры обращения к одной ячейке:
- Cells(1000) , где 1000 – порядковый номер ячейки на рабочем листе, возвращает ячейку «ALL1».
- Cells(50, 20) , где 50 – номер строки рабочего листа, а 20 – номер столбца, возвращает ячейку «T50».
- Range("A1:C3").Cells(6) , где «A1:C3» – заданный диапазон, а 6 – порядковый номер ячейки в этом диапазоне, возвращает ячейку «C2».
Для справки: порядковый номер ячейки в диапазоне считается построчно слева направо с перемещением к следующей строке сверху вниз.
Подробнее о том, как обратиться к ячейке, смотрите в статье: Ячейки (обращение, запись, чтение, очистка).
В этой статье мы рассмотрим свойства объекта Range, применимые, в том числе, к диапазону, состоящему из одной ячейки.
Еще надо добавить, что свойства и методы объектов отделяются от объектов точкой, как в третьем примере обращения к одной ячейке: Range("A1:C3").Cells(6) .
Свойства ячейки (объекта Range)
Свойство | Описание |
---|---|
Address | Возвращает адрес ячейки (диапазона). |
Borders | Возвращает коллекцию Borders, представляющую границы ячейки (диапазона). Подробнее… |
Cells | Возвращает объект Range, представляющий коллекцию всех ячеек заданного диапазона. Указав номер строки и номер столбца или порядковый номер ячейки в диапазоне, мы получаем конкретную ячейку. Подробнее… |
Characters | Возвращает подстроку в размере указанного количества символов из текста, содержащегося в ячейке. Подробнее… |
Column | Возвращает номер столбца ячейки (первого столбца диапазона). Подробнее… |
ColumnWidth | Возвращает или задает ширину ячейки в пунктах (ширину всех столбцов в указанном диапазоне). |
Comment | Возвращает комментарий, связанный с ячейкой (с левой верхней ячейкой диапазона). |
CurrentRegion | Возвращает прямоугольный диапазон, ограниченный пустыми строками и столбцами. Очень полезное свойство для возвращения рабочей таблицы, а также определения номера последней заполненной строки. |
EntireColumn | Возвращает весь столбец (столбцы), в котором содержится ячейка (диапазон). Диапазон может содержаться и в одном столбце, например, Range("A1:A20") . |
EntireRow | Возвращает всю строку (строки), в которой содержится ячейка (диапазон). Диапазон может содержаться и в одной строке, например, Range("A2:H2") . |
Font | Возвращает объект Font, представляющий шрифт указанного объекта. Подробнее о цвете шрифта… | HorizontalAlignment | Возвращает или задает значение горизонтального выравнивания содержимого ячейки (диапазона). Подробнее… |
Interior | Возвращает объект Interior, представляющий внутреннюю область ячейки (диапазона). Применяется, главным образом, для возвращения или назначения цвета заливки (фона) ячейки (диапазона). Подробнее… |
Name | Возвращает или задает имя ячейки (диапазона). |
NumberFormat | Возвращает или задает код числового формата для ячейки (диапазона). Примеры кодов числовых форматов можно посмотреть, открыв для любой ячейки на рабочем листе Excel диалоговое окно «Формат ячеек», на вкладке «(все форматы)». Свойство NumberFormat диапазона возвращает значение NULL, за исключением тех случаев, когда все ячейки в диапазоне имеют одинаковый числовой формат. Если нужно присвоить ячейке текстовый формат, записывается так: Range("A1").NumberFormat = "@" . |
Offset | Возвращает объект Range, смещенный относительно первоначального диапазона на указанное количество строк и столбцов. Подробнее… |
Resize | Изменяет размер первоначального диапазона до указанного количества строк и столбцов. Строки добавляются или удаляются снизу, столбцы – справа. Подробнее… |
Row | Возвращает номер строки ячейки (первой строки диапазона). Подробнее… |
RowHeight | Возвращает или задает высоту ячейки в пунктах (высоту всех строк в указанном диапазоне). |
Text | Возвращает форматированный текст, содержащийся в ячейке. Свойство Text диапазона возвращает значение NULL, за исключением тех случаев, когда все ячейки в диапазоне имеют одинаковое содержимое и один формат. Предназначено только для чтения. |
Value | Возвращает или задает значение ячейки, в том числе с отображением значений в формате Currency и Date. Тип данных Variant. Value является свойством ячейки по умолчанию, поэтому в коде его можно не указывать. |
Value2 | Возвращает или задает значение ячейки. Тип данных Variant. Значения в формате Currency и Date будут отображены в виде чисел с типом данных Double. | VerticalAlignment | Возвращает или задает значение вертикального выравнивания содержимого ячейки (диапазона). Подробнее… |
В таблице представлены не все свойства объекта Range. С полным списком вы можете ознакомиться не сайте разработчика.
Простые примеры для начинающих
Вы можете скопировать примеры кода VBA Excel в стандартный модуль и запустить их на выполнение. Как создать стандартный модуль и запустить процедуру на выполнение, смотрите в статье VBA Excel. Начинаем программировать с нуля.
Учтите, что в одном программном модуле у всех процедур должны быть разные имена. Если вы уже копировали в модуль подпрограммы с именами Primer1, Primer2 и т.д., удалите их или создайте еще один стандартный модуль.
Форматирование ячеек
Заливка ячейки фоном, изменение высоты строки, запись в ячейки текста, автоподбор ширины столбца, выравнивание текста в ячейке и выделение его цветом, добавление границ к ячейкам, очистка содержимого и форматирования ячеек.
Если вы запустите эту процедуру, информационное окно MsgBox будет прерывать выполнение программы и сообщать о том, что произойдет дальше, после его закрытия.
Создать объект целочисленного типа можно обычным способом:
Кроме того, можно указать число в восьмеричной или шестнадцатеричной форме. Такие числа будут автоматически преобразованы в десятичные целые числа. Восьмеричные числа начинаются с комбинации символов &O и содержат цифры от 0 до 7 :
Шестнадцатеричные числа начинаются с комбинации символов &H и могут содержать цифры от 0 до 9 и буквы от A до F :
Вещественное число может содержать точку и (или) быть представлено в экспоненциальной форме с буквой E (регистр не имеет значения):
При выполнении операций над вещественными числами следует учитывать ограничения точности вычислений. Например, результат следующей операции может показаться странным:
Ожидаемым был бы результат 0.0 , но, как видно из примера, мы получили совсем другой результат. Если необходимо производить операции с фиксированной точностью, то следует использовать тип Currency :
Функции для работы с числами
Для работы с числами предназначены следующие встроенные функции:
- CByte() — преобразует значение в число типа Byte . Если преобразование невозможно возбуждается исключение. Пример:
- CInt() — преобразует значение в число типа Integer . Если преобразование невозможно возбуждается исключение. Пример:
- CLng() — преобразует значение в число типа Long . Если преобразование невозможно возбуждается исключение. Пример:
- CSng() — преобразует значение в число типа Single . Если преобразование невозможно возбуждается исключение. Пример:
- CDbl() — преобразует значение в число типа Double . Если преобразование невозможно возбуждается исключение. Пример:
- CCur() — преобразует значение в число типа Currency . Если преобразование невозможно возбуждается исключение. Пример:
- CDec() — преобразует значение в число типа Decimal . Если преобразование невозможно возбуждается исключение. Пример:
- Val() — преобразует строку в целое или вещественное число. Строка просматривается слева направо пока не встретится недопустимый символ. В качестве десятичного разделителя должна быть указана точка. Пробелы, символы табуляции и символ перевода строки игнорируются. В строке могут быть указаны восьмеричные и шестнадцатеричные значения. Восьмеричные значения должны начинаться с комбинации символов &O , а шестнадцатеричные значения — с комбинации символов &H . Если преобразование невозможно функция возвращает значение 0 . Пример:
- Oct() — преобразует десятичное число в восьмеричное. Возвращает строковое представление числа. Пример:
- Hex() — преобразует десятичное число в шестнадцатеричное. Возвращает строковое представление числа. Пример:
- str() — преобразует число в строку. Первый символ в строке резервируется под знак числа. Если число является положительным, то первый символ будет пробелом, а если отрицательным — то первым символом будет знак минус. Обратите также внимание на то, что при выводе десятичный разделитель отображается в виде точки, а не в виде запятой, как это было при использовании функции CStr() . Пример:
Функция str() возвращает значение типа Variant (String) . Чтобы получить значение типа String следует использовать функцию str$() , имеющую тот же самый формат. Пример:
- IsNumeric() — возвращает значение True , если значение можно преобразовать в число, и False — в противном случае:
Математические функции
Перечислим основные математические функции:
- Sin() , Cos() , Tan() — стандартные тригонометрические функции (синус, косинус, тангенс);
- Atn() — арктангенс числа. Получим значение числа Пи :
- Exp() — экспонента;
- Log() — логарифм;
- Sqr() — квадратный корень:
- Sgn() — позволяет определить знак числа. Возвращает одно из следующих значений:
- 1 — если число больше нуля;
- 0 — если число равно нулю;
- -1 — если число меньше нуля.
Округление чисел
Для округления чисел предназначены следующие функции:
- Fix() — возвращает значение, округленное до целого числа. Дробная часть числа просто отбрасывается:
- Int() — возвращает значение, округленное до целого числа. Для положительных чисел дробная часть просто отбрасывается, а для отрицательных чисел возвращается ближайшее меньшее значение:
Для округления чисел можно также воспользоваться функцией CInt() :
Генерация псевдослучайных чисел
Для генерации псевдослучайных чисел используются следующие функции и процедуры:
- Rnd([]) — возвращает псевдослучайное вещественное число типа Single меньше 1 , но большее или равное 0 . Если параметр не указан или задано положительное значение, то функция возвращает следующее псевдослучайное число из последовательности:
Если в качестве параметра указать отрицательное значение, то будет генерироваться одно и тоже число, соответствующее значению:
Если указано значение 0 , то функция возвращает последнее сгенерированное число:
- Randomize [] — настраивает генератор псевдослучайных чисел на новую последовательность.
Создадим генератор паролей произвольной длины (листинг 5.1). Для этого добавляем в массив arr все разрешенные символы, а далее в цикле получаем случайный элемент, сгенерировав индекс с помощью пользовательской функции Rand() , возвращающей целое число в указанном диапазоне.
Листинг 5.1. Генератор паролей
Статьи по Visual Basic for Applications (VBA)
Помощь сайту
Yandex-деньги: 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов
Читайте также: