Vba Excel Как Определить Формат Ячейки • Математические операции

Ошибка при поиске последней использованной ячейки в Excel с VBA

Когда я хочу найти последнее использованное значение ячейки, я использую:

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

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
В следующем примере переменным i и j присваиваются значения, равные количеству столбцов и строк в выделенном диапазоне соответственно. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
columnOf f set — целое число, указывающее сдвиг по столбцам Например, в следующем примере активизируется ячейка, расположенная на три строки ниже и на два столбца левее относительно предыдущей активной ячейки:

Программирование MS Excel: Вопросы по программированию в VBA

  • 1) данные, то есть формула, возможно, приводящая к пустому значению;
  • 2) значение, т.е. Непустая формула или константа;
  • 3) форматирование;
  • 4) условное форматирование;
  • 5) форма (включая комментарий), перекрывающая ячейку;
  • 6) участие в таблице (объект списка).

Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является касз, то R[i]C[-1] дает ссылку на ячейку кзс2

5 ответов

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

Я использую Excel 2007 и пытаюсь написать подпрограмму VBA, которая будет копировать комментарии ячеек (включая форматирование). Комментарии к ячейкам могут содержать базовое форматирование текста (например, стиль. жирный шрифт и т. д.), И я могу успешно Скопировать текст, но не могу найти способ.

я рекомендую использовать пользовательский формат чисел без использования VBA, например:

ИСПЫТАННЫЙ И ПРОВЕРЕННЫЙ (САМЫЙ БЫСТРЫЙ МЕТОД)

Этот код использует Условное форматирование. Единственным недостатком является то, что этот код будет работать в Excel 2007 и далее :P, поэтому, если у вас есть Excel 2003, это не сработает.

Ладно, теперь я, кажется, понимаю, что ты имеешь в виду. Проблема в том, что вы ввели невозможный оператор Do Until , потому что значение ячейки никогда не может быть пустым AND 0 одновременно, поэтому вы, вероятно, получите бесконечный цикл

Или, если это все еще не покрывает его, попробуйте использовать Empty , потому что Empty будет охватывать как 0, так и «»

Я так понимаю, вы хотите, чтобы «0.00» было введено в качестве числового значения, но отформатировано так, чтобы оно выглядело как «0.00»? В таком случае.

Зацикливается до тех пор, пока не найдет значение non-null/non-zero, и он безоговорочно устанавливает каждую ячейку null в 0 здесь:

(При общем формировании на новом листе это значение будет отображаться как 0, а не 0.00, если только вы не используете лист повторно или не изменили форматирование по умолчанию).

Если вы хотели установить только значения, отличные от null, вам нужно изменить предельное условие цикла, чтобы оно не конфликтовало с тестом вторичной ячейки non-null/null. В этом цикле ( это поиск не-null) сделайте что-то независимо, чтобы проверить каждую ячейку на наличие не-null или нет. (например, if/then/else, чтобы установить его значение).

Кто-нибудь знает, как определить формат ячеек Excel с помощью PHPExcel? Один ответ здесь, Как узнать форматирование ячейки Excel , сделал это в C#,, но я хочу сделать это с PHPExcel. Спасибо.

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Я использую Excel 2007 и пытаюсь написать подпрограмму VBA, которая будет копировать комментарии ячеек включая форматирование. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
«Ошибочный» вывод будет получен, если в вашем диапазоне нет непустых ячеек, кроме, возможно, первой. Затем вы прыгаете в темноте, то есть вниз по рабочему листу (вы должны заметить разницу между пустой и пустой строкой!).

Ошибка при поиске последней использованной ячейки в Excel с VBA — программирование

​ к первой кнопке​​ то произойдёт копирование​ чтоб понятней было.​ нет горячих клавиш.​ часто приходится несколько​ клавиш CTRL+Z чтобы​ тем как сделать​ Одни ячейки обладают​​(Формат по образцу)​​ говорит о том,​ в Excel и​ столбец, содержащий объединенные​ мыши.​ что вы хотите​ материалами на вашем​Sub Auto_open()​

Запись значения в ячейку

Осуществить запись значения в ячейку можно 2 способами: с помощью Value и Value2. Использование Text для записи значения не возможно, т.к. это свойство только для чтения.

Пример 8: Записать в ячейку A1 активного листа значение 123,45

Пример 9: Записать в ячейку A2 активного листа дату 1 марта 2018 года

В данном примере тоже запишется одно и то же значение в ячейку A2 активного листа.

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

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Если в ваших клетках отображается индикатор ошибки зеленый треугольник в верхнем левом углу , преобразование выполняется одним щелчком мыши. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Чтобы использовать этот код, выделяем область на рабочем листе, которую нужно преобразовать. Жмем на значок «Макросы», который расположен на вкладке «Разработчик» в группе «Код». Или нам поможет комбинация клавиш ALT+F8.

Vba excel обращение к ячейке

  • Value2 – базовое значение ячейки, т.е. как оно хранится в самом Excel-е. В связи с чем, например, дата будет прочтена как число от 1 до 2958466, а время будет прочитано как дробное число. Value2 – самый быстрый способ чтения значения, т.к. не происходит никаких преобразований.
  • Value – значение ячейки, приведенное к типу ячейки. Если ячейка хранит дату, будет приведено к типу Date. Если ячейка отформатирована как валюта, будет преобразована к типу Currency (в связи с чем, знаки с 5-го и далее будут усечены).
  • Text – визуальное отображение значения ячейки. Например, если ячейка, содержит дату в виде «число месяц прописью год», то Text (в отличие от Value и Value2) именно в таком виде и вернет значение. Использовать Text нужно осторожно, т.к., если, например, значение не входит в ячейку и отображается в виде «#####» то Text вернет вам не само значение, а эти самые «решетки».

Если всё же путь к книге или листу необходим, но не хочется его писать при каждом обращении к ячейкам, можно использовать конструкцию With End With. При этом, обращаясь к ячейкам, необходимо использовать в начале «.» (точку).

Специальная вставка.

По сравнению с предыдущими методами этот метод требует еще нескольких дополнительных шагов, но работает почти на 100%.

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

  1. Выделите клетки таблицы с текстовым номером и установите для них формат «Общий», как описано выше.
  2. Скопируйте какую-нибудь пустую ячейку. Для этого либо установите в нее курсор и нажмите Ctrl + C , либо щелкните правой кнопкой мыши и выберите «Копировать» в контекстном меню.
  3. Выберите клетки таблицы, которые вы хотите трансформировать, щелкните правой кнопкой мыши и выберите «Специальная вставка». В качестве альтернативы, нажмите комбинацию клавиш Ctrl + Alt + V .
  4. В диалоговом окне «Специальная вставка» выберите «Значения» в разделе «Вставить» и затем «Сложить» в разделе «Операция».
  5. Нажмите ОК.

Если все сделано правильно, то ваши значения изменят выравнивание слева на правую сторону. Excel теперь воспринимает их как числа.

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Как считать проценты в Excel примеры формул — В этом руководстве вы познакомитесь с быстрым способом расчета процентов в Excel, найдете базовую формулу процента и еще несколько формул для расчета процентного изменения, процента от общей суммы и т. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Допустимые значения: True (формула спрятана, если рабочий лист или книга защищены) и False (в противном случае). Например, следующая инструкция скрывает формулы в столбце А: Columns («A») . FormulaHidden = True

10 способов преобразовать в Excel текст в число | Mister-Office

    • По умолчанию с выравниванием по правому краю.
    • Если выбрано несколько ячеек, в строке состояния отображается «Среднее», «Количество» и «Сумма» .
    • По умолчанию с выравниванием по левому краю.
    • Если выбрано несколько ячеек, строка состояния показывает только Количество .
    • В поле Числовой формат отображается текстовый формат (во многих случаях, но не всегда).
    • В строке формул может быть виден начальный апостроф.
    • Зелёный треугольник в левом верхнем углу.

Аргумент destination определяет диапазон, в который копируется данный диапазон. Если аргумент destination опущен, то диапазол копируется в буфер обмена. В данном примере диапазон AI : D4 рабочего листа лист! копируется с удалением в буфер обмена:

Формат по образцу

​ их можно поправить​​ и вставки форматов​Автор: Антон Андронов​ к группе ячеек​(Формат по образцу).​
​ нажмите клавишуCTRL+SHIFT+VЧтобы применить​ кнопку​

​CopyFormat​​ становится выглядеть как​Заметьте, благодаря двойному щелчку​ строки.​ вручную, но если​

​ без изменения значений​​Форматирование может забирать достаточно​

​ в Excel, просто​ Вы увидите пунктирные​
​ его.​
​Формат по образцу​
​Когда указатель превратится в​
​ в документе. Выберите​
​ закреплено сочетание клавиш​
​: здрасте-приехали.. :)​
​ поводу курсора с​

​ знак решётки с​​ по кнопке после​​ мы хотим чтобы​ (текст, число и​ много времени. Особенно​ протянув выделение через​ линии вокруг выбранной​Команда​
​и затем щелкните​ кисть, выделите фигуру,​

Vba Excel Как Определить Формат Ячейки • Математические операции

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Когда вы копируете в таблицу Excel данные из других приложений при помощи буфера обмена то есть Копировать Вставить , вместе с цифрами часто копируется и различный мусор. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Как извлечь текст из ячейки при помощи функции ПСТР и специальных инструментов — ПСТР — одна из текстовых функций, которые Microsoft Excel предоставляет для управления текстовыми строками. На самом базовом уровне она используется для извлечения подстроки из середины текста. В этом руководстве мы обсудим…
Vba Excel Как Определить Формат Ячейки • Математические операции

Форматирование ячеек с помощью Excel VBA — CodeRoad

  1. Выделяется ячейка, формат которой необходимо скопировать
  2. На вкладке Главная с помощью команды Формат по образцу копируется формат данной ячейки. При этом рядом с курсором появляется значок кисточки.
  3. Мышкой выделяется диапазон ячеек к которому необходимо применить форматирование исходной ячейки.

Как показала практика, если этот макрос не работает — (не пересчитывает ячейки или пишет нечто вроде #знач), то у Вас обнаружена циклическая ссылка и Excel «не хочет» пересчитывать значения. Ищите ссылку и уберите ее. Существуют специальные утилиты для поиска циклических ссылок, можете воспользоваться ими (ищите на авторских страницах, я видел кажется кажется у Stephen Bullen)

Vba Excel Как Определить Формат Ячейки

Содержание

  • Почему на листе модуля в качестве разделителя используется символ ‘;’ а не ‘,’
  • Как определить разделитель целой и дробной части и прочие международные установки.
  • Выключение отображения изменений на экране, а также про увеличение скорости работы макросов
  • Грабли при использовании ScreenUpdating в функциях в Excel 97
  • Как определить есть ли комментарии на рабочем листе
  • Как защитить лист от пользователя, но не от макро
  • Чем отличается ThisWorkBook от ActiveWorkbook
  • Как вычислить формулу в макро
  • Как убрать заголовки строк и столбцов
  • Как определить использованную область листа
  • Как определить пересечение областей
  • Как найти последную используемую строку на листе
  • Еще один способ
  • Использование именнованной области в качестве базы данных
  • Макро для отслеживания появления новых данных в диаграммах
  • Обновление данных в сводной таблице
  • Обновление запроса к Query работает только на видимом листе
  • Как вызывать функции рабочего листа из VBA
  • Как получить список файлов в каталоге
  • Почему Excel не печатает из окна диалога
  • Как установить фокус ввода в окне диалога
  • Как дождаться завершения программы запущенной функцией Shell()
  • Формулы, вставленные из VBA, нерассчитываются при вставке. Их приходится пересчитывать. Что делать ?
  • Макрос для пересчета ячеек только выделенной области
  • Как передать диапазон в функцию VBA ?
  • Один способ установить add-in не используя Excel
  • Другой способ установить Add-In используя Excel :-)
  • Как вставить свое изображение для кнопки в toolbar
  • Доступ к Access из Excel
  • Доступ к Access из Excel через ini-файлы
  • Доступ к Excel через OLE из Visual Basic (это не VBA)
  • Stephen Bullen учит чайников делать коллекции классов в VB
  • Управление Excel’om через DDE
  • Как организовать Прогресс-Бар
  • Как определить размер текста
  • Как избежать сообщений Excel при удалении листов и т.п.
  • Если Вы хотите использовать категории функций в своих XLA — обломитесь
  • Назначение макро на горячую клавишу
  • Для чайников — использование SET, WITH и скрытых имен (это уже не для чайников)
  • Как скрывать и показывать меню
  • Использование SpecialCells(xlVisible) для перебора видимых строк (результат автофильтра)
  • Как вернуть массив из пользовательской функции
  • Как определить последнюю запись в таблице Excel?
  • Как отменить выделение диапазона ячеек ?
  • Удаление листов в зависимости от даты.
  • Подавление «горячих» клавиш.
  • Подсказки к Toolbar
  • Как определить адрес активной ячейки
  • Подсказки к Toolbar (Excel’95)
  • Запуск Excel с поиском ячейки
  • Как задать имя листу, который будет вставлен ?
  • Как проверить существует ли лист?
  • Как обратиться к ячейке по ее имени ?

Это зависит от настроек Excel в меню Сервис/ Параметры/ Модуль/ РазделительСписков. Для извлечения текущих значений используйте свойство Application.International. Можно определить десятичный разделитель, разделитель тысяч и пр. Как определить есть ли комментарии на рабочем листе

Как узнать есть ли хоть один Notes (комментарий) в рабочем листе, кроме как перебором по всем ячейкам? . Без этого не работает.

Попробуйте заменить ссылки типа ActiveWorkbook.WorkSheets(«.. на ссылки вида ThisWorkBook.WorkSheets(«..

Дело в том, что когда выполняется код надстройки, активной книгой в Excel’е является не сама надстройка! Конструкция ThisWorkbook позволяет сослаться на книгу, в которой в настоящий момент выполняется код Excel VBA. Примечание: Это общий принцип создание надстроек Excel. Как вычислить формулу в макро

Если у Вас есть строка с формулой, Вы можете вычислить ее при помощи функции VBA Evaluate. Как определить использованную область листа
Как определить пересечение областей

Использованную часть рабочего листа можно определить через свойство Worksheet.UsedRange. Для определения пересечения областей можно использовать метод Application.Intersect(). Если Вам надо определить какие ячейки нужной Вам области заняты данными (например пользователь выделил целый столбец, определив пересение столбца и UsedRange можно сократить число анализируемых ячеек).

  1. Лист формы, заполняемый консультатом при совершении акта консультации клиента :)
  2. Лист реестра всех работ проделанных консультантом
  3. Лист реестра работ по конкретному клиенту всех консультантов
  1. Происходит проверка на непустые значения (имена «nonempty»)
  2. Проверка наличия баз куда будут копироваться записи (одна форма может вставлять записи в несколько таблиц). Используются имена «bd_name»
  3. Копирование данных из полей формы на листы баз. Данные вставляются в столбцы базы в соотвествии с именами «bd_scol».
  4. Листы баз представляют собой некоторым образом «отчеты», имеющие заголовок , тело и footer (не знаю как это будет по русски). записи добавляются в «тело», при этом для форматирования вставляемой записи используется скрытая область «OneRow». Копирование производится в область листа начало которой помечено как «StartDB».
  5. Лист формы переходит в «архивное» состояние, для чего ему присваивается уникальное имя (содержимое именнованных ячеек «name»). Лист покрывается защитой от изменений. Из листа формы вычищаются все имена для «облегчения» книги (зачем хранить ненужную информацию).
  6. Последние использованные данные сохраняются в «невидимых» именах для их последующего дефолтного вставления в новый шаблон формы.

Файлы примера находится здесь.. Эти шаблоны должны быть брошены в каталог шаблонов офиса. Для начала работы создайте книгу из шаблона ConsultantBook.xlt

Да, так о чем это я ? По поводу имен — при изменении размеров базы (именнованной области) из макро хорошо использовать метод Resize : Этот фрагмент увеличивает область «YourBase» на 1 строку. Поистине Excel неисчерпаем .

Еще один hintпо поводу использования именнованных областей в качестве базы данных. Макро для отслеживания появления новых данных в диаграммах

Для этого существует функция VBA dir. Если Вас неудовлетворяет скорость ее работы на больших каталогах можно попробовать использовать функцию ДОС dir, обрабатывая файл с результатами ее работы. Почему Excel не печатает из окна диалога

Функции Print и PrintPriview не работают при открытом пользовательском окне диалога. Как установить фокус ввода в окне диалога

Для этого существует свойство объекта типа Dialog.Focus=»Название». Можно также изменить направление обхода элементов. Как дождаться завершения программы запущенной функцией Shell()

Функции Shell запускает указанное приложение не дожидаясь его завершения (асинхронно). Для проверки завершения запущенного приложения можно использовать оператор AppActivate. Формулы, вставленные из VBA, нерасчитываются при вставке. Их приходится пересчитывать. Что делать ?
Макрос для пересчета ячеек только выделенной области

Как показала практика, если этот макрос не работает — (не пересчитывает ячейки или пишет нечто вроде #знач), то у Вас обнаружена циклическая ссылка и Excel «не хочет» пересчитывать значения. Ищите ссылку и уберите ее. Существуют специальные утилиты для поиска циклических ссылок, можете воспользоваться ими (ищите на авторских страницах, я видел кажется кажется у Stephen Bullen)

По поводу невставляемости формул из в VBA — я _очень_ думаю что это результат наличия циклических ссылок. Потому что в нормальном случае все работает. Как передать диапазон в функцию VBA ?

В функции VBA параметр должен быть объявлен как Variant, тогда на вход функции будет передан объект типа Range . Один способ установить add-in не используя Excel

Ваша программа может бросить XLS файл в директорию автозагрузки Excel (там где живут разные personal.xls). А этот файл уже может сделать все что хочешь, например установить дополнение средствами VBA и подтереть себя . Хитро? Как вставить свое изображение для кнопки в toolbar

Смотри пример Андрея Кириенко — запуск из Visual Basic Excel’a и создания в нем рабочей книги. Доступ к Access из Excel

Вот фрагмент кода, который создаёт таблицу «BalanceShifr» базе данных MS Access: Примечание: Не забудьте выставить в Excel ссылки на объекты DAO!
В редакторе Visual Basic Tools/References/Available References/
[x] MicroSoft DAO . Library Доступ к Access из Excel через ini-файлы

API для для взаимодействия Access и Excel’a через ini-файлы имени Emil Sildos. Собственно mLIni.bas файл здесь. Управление Excel’om через DDE

Есть утилита для управления EXCEL из командной строки (или командного файла) через DDE. Команды можно записать в текстовом файле и выполнить его. Команды DDE соответствуют макро языку Excel 4 и из них нельзя вернуть значения. Но лучше использовать OLE, если это возможно. Как организовать Прогресс-Бар

При выполнении тех или иных действий Excel может запрашивать подтверждения. Например при удалении листа, закрытии файла с несохраненными данными и (!) при проведении операции для которой Excel’y нехватает памяти для Undo. Для подавления этих сообщений используйте Application.DisplayAlerts: Любопытный ход- можно сказать Excel что файл якобы сохранен и тогда он не станет возражать против его закрытия. Назначение макро на горячую клавишу

Для это используется метод Application.OnKeys. Насколько мне известно такоим образом можно «сбросить» стандартные назначения клавиш, переопределив их на свой (пустой) макрос.

Найти последнюю запись в электронной таблице можно из VB следующим способом: Как отменить выделение диапазона ячеек ?

После прекращения работы макроса диапазон остается выделенным. Как это выделение убрать? Можно попробовать следующее: Фокус ввода попадёт после этого на первую ячейку ранее выделенного диапазона. Вообще, решение состоит в прермещении выделения на какую-либо ячейку.
Маленькой хитростью является выделение скрытой ячейки :) Удаление листов в зависимости от даты.

Вот кодфункции на Excel VBA, который решает данную проблему. Подавление «горячих» клавиш.

Как подавить доступ по «горячим» клавишам, имеется ввиду предопределенные в Excel клавиши типа Ctrl-O и т.д.? Попробуйте. Подсказки к Toolbar

Как сделать к «само нарисованным» кнопочкам на Toolbar’е подсказки? (Ну, те, что после 2-х секунд молчания мышки появляются)
Вот так: (в Excel’97 VBA)
Примечание: На VBA для Excel’95 это делается несколько иначе! Как определить адрес активной ячейки

Как в макросе узнать и использовать текущее положение курсора (не мышиного, естественно)?

Очень просто:
ActiveCell.Row и ActiveCell.Column покажут координаты активной ячейки. Подсказки к Toolbar (Excel’95)

Как сделать свой собственный Toolbar с tooltip’ами на кнопках в Excel’95?

Вот фрагмент кодадля Excel’95, который создаёт toolbar с одной кнопкой с пользовательским tooltiр’ом. Нажатие кнопки приводит к выполнению макроса NothingToDo()
Нint: В Excel’97 этот код тоже работает! Запуск Excel с поиском ячейки

Как запустить Excel, чтобы оказаться на ячейке содержимое которой известно заранее?

Можно Вот так.
Достаточно выполнить этот код из макроса Auto_Oрen()!
Примечание: Протестировано и отлажено в Excel’97. Как задать имя листу, который будет вставлен ?

Хочy через Excel VBA задать имя листу, который будет вставлен. Но у команды Sheets.Add нет такого параметра! Как бороться ?

Можно решить проблему следующим способом.
Примечание: Отлажено и протестировано в Excel’97. Как обратиться к ячейке по ее имени ?

Как обратиться к ячейки по ее имени? Т.е. есть Лист1 и в нем ячейки с именем Дебет и Кредит. Хочy подсчитать Дебет-Кредит средствами Excel VBA. Попробовал Range(Дебет)-Range(Кредит), ругается, что не описаны переменные.

Если я правильно понял, нужно разыменовать ячейку из кода Excel VBA. Вот фрагмент кода, который решаеттакую задачу:
Примечание: Отлажено и протестировано в Excel’97.

специалист
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Что касается правильного способа поиска последней использованной ячейки, нужно сначала решить, что считается использованной, а затем выбрать подходящий метод. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Введите что-то в ячейку A5 . Теперь, когда вы вычисляете последнюю строку с помощью любого из приведенных ниже методов, она даст вам 5. Теперь окрасьте ячейку A10 в красный цвет. Если вы теперь используете любой из приведенных ниже кодов, вы все равно получите 5. Если вы используете Usedrange.Rows.Count , что вы получите? Это не будет 5.

Excel vba формат по образцу • Вэб-шпаргалка для интернет предпринимателей!

​ Word 2003. Больше​​ будет через alt+1​ формата, а при​ Ещё на клавише​ Об этом свидетельствует​​ раз подряд копировать​​ вернуть изначальный вид​ формат по образцу,​ процентным форматом, другие​

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: