Make a particular worksheet visible using a macro in Excel.
This is called activating a worksheet and is rather easy to do.
Sections:
Activate Worksheet by Name
Activate Worksheet by Index Number
Notes
Activate Worksheet by Name
Let’s navigate to, activate, the worksheet called «Sheet2».
Worksheets("Sheet2").Activate
Worksheets(«Shee2») is how we reference the sheet to which we want to navigate.
Sheet2 is the name of the sheet to which we want to navigate. Make sure to surround it with double quotation marks.
Activate is what actually takes the user to that worksheet.
Putting it all together, we get: Worksheets(«Sheet2»).Activate
It’s as simple as that.
Activate Worksheet by Index Number
This time, let’s navigate to the second worksheet using its index number.
All we do is to replace «Sheet2» from the last example with 2.
Worksheets(2).Activate
2 is the index number of the desired worksheet and Activate is what takes us to the desired worksheet.
This example can be confusing if you are not used to using index numbers, but index numbers are really helpful when you have to do something like loop through all of the worksheets in the workbook.
Notes
Basically, just reference the desired worksheet, however you want, and then type .Activate after it.
You should not use the Activate feature to navigate to a worksheet so that you can get data from it or put data into it. This is very bad Macro/VBA design and it will make your life hell later on. To get data from separate worksheets, read this tutorial: Select Data from Separate Worksheets with Macros VBA in Excel.
This feature should be used when you want the user to end up on a specific worksheet.
Make sure to download the sample file attached to this tutorial so that you can see this macro in Excel and work with it.
Similar Content on TeachExcel
Copy and Paste Data using Macro VBA in Excel
Tutorial: How to copy and paste data using a Macro in Excel. I’ll show you multiple ways to do this,…
Select Data from Separate Worksheets with Macros VBA in Excel
Tutorial: Select data from other worksheets with Macros and VBA without navigating to those workshee…
Get the Last Row using VBA in Excel
Tutorial:
(file used in the video above)
How to find the last row of data using a Macro/VBA in Exce…
Login to a Website using a Macro
: Connect and login to a website using a macro in Excel.
This allows you to open a website a…
Get the Name of a Worksheet in Macros VBA in Excel
Tutorial: How to get the name of a worksheet in Excel using VBA and Macros and also how to store tha…
Guide to Creating Charts with a Macro in Excel
Tutorial: How to add, edit, and position charts in Excel using VBA.
This tutorial covers what to do …
Subscribe for Weekly Tutorials
BONUS: subscribe now to download our Top Tutorials Ebook!
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
1 |
|
19.05.2013, 14:36. Показов 8031. Ответов 17
Помогите очень нужно сделать на форме кнопку по нажатию на которую открывался бы лист excel.
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||
19.05.2013, 17:57 |
2 |
|||
РешениеНа форме кнопка и ссылка на Microsoft Excel X.0 Object Library (В меню Project -> References…, отметить Microsoft Excel X.0 Object Library)
1 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
19.05.2013, 18:04 [ТС] |
3 |
это просто откроет мне мой лист excel и все. так ведь? Добавлено через 4 минуты
0 |
6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
|
19.05.2013, 18:05 |
4 |
Это создаст новый лист, при желании, запишет туда что то, сохранит этот лист на диске( тоже при желании)
1 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
19.05.2013, 19:03 [ТС] |
5 |
да у меня вот какое условие. Добавлено через 54 минуты
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||
19.05.2013, 19:30 |
6 |
|||
Решение
заказа открывал лист excel в котором у меня уже будет мой договор напечатан Да, то же самое, только берем готовый лист
1 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
19.05.2013, 21:23 [ТС] |
7 |
спасибо это то что я и имел в веду Добавлено через 39 минут
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||
19.05.2013, 21:53 |
8 |
|||
печатать на принтере лист ексельчика??? Вставь эту строчку
После PrintOut есть куча параметров, посмотри, могут пригодиться
1 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
20.05.2013, 10:07 [ТС] |
9 |
огромная просьба можно какой то самый маленький пример использования этого оператора.
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||
20.05.2013, 10:50 |
10 |
|||
самый маленький пример использования
Соответственно все параметры по умолчанию. Если что то надо применить, то просто пиши эти параметры после PrintOut через пробел.
1 |
Dragokas 17993 / 7619 / 890 Регистрация: 25.12.2011 Сообщений: 11,352 Записей в блоге: 17 |
||||
20.05.2013, 11:01 |
11 |
|||
Например,
Печать 2-го листа от 1 до 3-й страницы с кол-вом копий — 4, без предварительного просмотра, Справка:
0 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
20.05.2013, 19:05 [ТС] |
12 |
я пробовал но ничего не происходит, а если ставить какие-то параметры то вообще ничего не выходит
0 |
6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
|
20.05.2013, 19:14 |
13 |
я пробовал но ничего не происходит Покажите ваш код полностью, тогда и скажу конкретно, что не так.
1 |
n1ko 3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
||||
20.05.2013, 21:30 [ТС] |
14 |
|||
Добавлено через 1 минуту Добавлено через 6 минут
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||
20.05.2013, 22:23 |
15 |
|||
На печать — работает. Абсолютный путь — в зависимости от того, где документ. Если в папке с программой, то используйте
1 |
3 / 3 / 2 Регистрация: 19.05.2013 Сообщений: 84 |
|
20.05.2013, 22:59 [ТС] |
16 |
точно огромное спасибо а что на счет печати? Добавлено через 26 минут
0 |
Pro_grammer 6792 / 2814 / 527 Регистрация: 24.04.2011 Сообщений: 5,308 Записей в блоге: 10 |
||||||||
21.05.2013, 07:16 |
17 |
|||||||
а печать идет без указания определенного принтера? По умолчанию. Применяются все настройки, которые были у принтера до этого
Предпросмотр печати можно ещё так включить
Но если не работает первый способ ( где аргументы для PrintOut, то и этот вряд ли заработает)
2 |
Заблокирован |
|
21.05.2013, 07:54 |
18 |
Pro_grammer, Не по теме: Стал развернутей отвечать на вопросы, должность меняет людей и взгляды.
0 |
Как открыть конкретный лист в книге?
По умолчанию Excel будет запоминать ваш последний измененный рабочий лист при выходе из программы Excel каждый раз, и когда вы откроете книгу в следующий раз, этот лист будет отображаться первым. Предположим, у вас есть большая книга с сотнями листов. Можно ли находить конкретную часто используемую таблицу каждый раз при запуске файла Excel?
С помощью следующего простого кода VBA он автоматически перейдет на конкретный рабочий лист, который вы определили, независимо от того, какой рабочий лист использовался и сохранялся в последний раз.
Открыть конкретный лист в книге с кодом VBA
Автоматически открывать определенную книгу при включении Excel с помощью Kutools for Excel
Добавление книг в папку избранного с помощью вкладки Office
Открыть конкретный лист в книге с кодом VBA
Выполните следующие шаги, чтобы завершить эту задачу:
1. Откройте книгу, которую хотите использовать.
2. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.
3. На левой панели выберите имя книги, которую вы хотите использовать (если левая панель скрыта, щелкните Вид > Обозреватель проекта чтобы показать это), затем дважды щелкните Эта рабочая тетрадь , чтобы открыть модуль, а затем скопируйте и вставьте следующий код VBA на правой панели. Смотрите скриншот:
Private Sub Workbook_Open()
Worksheets("Mastersheet").Activate
End Sub
Примечание: В приведенном выше коде «Мастер-лист«- это имя рабочего листа, необходимого для запуска при каждом открытии книги, вы можете изменить его на свое собственное.
4. Закройте редактор VBA и сохраните книгу как Excel Macro-Enabled Workbook как показано на следующем скриншоте:
Теперь, когда вы в следующий раз откроете книгу, нажмите Включить контент, и он сразу перейдет на ваш конкретный рабочий лист. Это предупреждение не будет отображаться в более позднем процессе открытия, и ваш конкретный рабочий лист всегда будет открываться первым каждый раз.
Автоматически открывать определенную книгу при включении Excel с помощью Kutools for Excel
Если вам нужно использовать одну рабочую книгу каждый день, вы можете выбрать автоматическое открытие этого рабочего листа при включении Excel каждый раз, Kutools for Excel.
Если вы установили Kutools for Excel, просто нужно добавить книгу в Автоматически открывать эти листы в следующий раз list, то при каждом открытии Excel книга открывается одновременно .:
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Откройте используемую книгу и щелкните Кутулс Плюс> Workbook > Автоматически открывать эти книги в следующий раз. см. снимок экрана:
2. В появившемся диалоговом окне проверьте книгу и щелкните Ok. Затем, пока вы включаете Excel, открывается книга.
Наконечник: Если вам не нужно открывать ее в следующий раз, снимите флажок с книги в диалоговом окне, если вам больше не нужно открывать ее автоматически, выберите ее и нажмите Очистить чтобы удалить его из списка диалога.
Щелкните здесь, чтобы узнать больше об автоматическом открытии этих книг в следующий раз.
Добавление книг в папку избранного с помощью вкладки Office
Если вы просто хотите щелкнуть, найти определенные книги и открыть их, когда вам нужно, вы можете бесплатно установить Office Tab и добавьте книги в Избранное папку.
После бесплатной установки вкладки Office выполните следующие действия:
Откройте книги, которые нужно добавить в избранное, и нажмите Office Tab > Мои Избранные > Добавить все в эту группу. Смотрите скриншот:
Теперь все книги добавлены в папку «Избранное» и нажмите Office Tab > Мои Избранные стрелкой вниз чтобы выбрать книгу для открытия, если вам нужно, и если вы хотите открыть все это, нажмите Открыть эту группу.
Нажмите здесь, чтобы бесплатно загрузить Office Tab и получить 30 дней бесплатного пробного периода.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Памятка для начинающих по коду VBA Excel. Краткий справочник по часто используемым выражениям при написании программного кода.
Краткий справочник (памятка) позволяет быстро найти нужное выражение (оператор, функцию, метод) для копирования и вставки в код VBA Excel при написании программы.
Обращение к ячейке
Способы обращения к диапазону в виде одной ячейки на примере ячейки B5 на активном листе:
Range(«B5») [B5] Cells(5, 2) Cells(5, «B») |
Обращение к ячейке на неактивном листе активной книги:
Worksheets(«Имя листа»).Range(«B5») = 123 |
Обращение к ячейке в неактивной книге:
Workbooks(«Книга2.xlsm»).Worksheets(«Имя листа»).Range(«B5») = 123 |
Обращение к ячейке в неактивной текущей книге с исполняемым кодом:
ThisWorkbook.Worksheets(«Имя листа»).Range(«B5») = 123 |
"Имя листа"
— это имя на ярлыке листа, которое в проводнике проекта VBA отображается в скобках.
Обращение к диапазону
Способы обращения к диапазону на активном листе:
‘смежный диапазон Range(«B5:E10») [B5:E10] Range(Cells(5, 2), Cells(10, 5)) Range(Cells(5, «B»), Cells(10, «E»)) ‘несмежный диапазон Range(«B5:E10, G2:I7, D12:F17») Application.Union([B5:E10], [G2:I7], [D12:F17]) |
С помощью метода Application.Union можно объединить в несмежный диапазон и выражения типа Range(Cells(5, 2), Cells(10, 5)).
Способы обращения к диапазону на неактивном листе и в неактивной книге те же, что и для диапазона в виде одной ячейки (смотрите выше).
Обмен значениями
Ячейка-переменная-ячейка
Диапазон-массив-диапазон
Dim arr arr = Range(«A1:E5») Range(«A7:E11») = arr |
Аналог Ctrl+стрелка
Аналог сочетания клавиш Ctrl+стрелка — свойство End объекта Range:
Dim myRange As Range, a As String Set myRange = Range(«D10»).End(xlDown | xlToLeft | xlToRight | xlUp) a = Range(«D10»).End(xlDown | xlToLeft | xlToRight | xlUp).Address |
В качестве аргумента свойства End оставляем одну константу в зависимости от нужного направления.
Последняя строка таблицы
Варианты определения номера последней строки таблицы:
Dim n as Long n = Range(«A1»).CurrentRegion.Rows.Count n = Range(«A1»).End(xlDown).Row n = Cells(Rows.Count, «A»).End(xlUp).Row |
Шаблоны для копирования
Краткий справочник по циклам и другим блокам кода. Копируйте шаблоны из памятки для начинающих и вставляйте их в свой код VBA Excel. Используйте свои переменные, условия и операторы.
Оператор With
With объект операторы End With |
Функция IIf
IIf(условие, если True, если False) |
Оператор If…Then…Else
Однострочная конструкция:
If условие Then операторы |
Многострочная конструкция полная:
If условие Then операторы ElseIf условие Then операторы ———————— Else операторы End If |
Многострочная конструкция неполная:
If условие Then операторы Else операторы End If |
Оператор Select Case
Select Case выражение Case условие 1 операторы 1 Case условие 2 операторы 2 ——————————— Case условие n операторы n Case Else операторы End Select |
Цикл For… Next
Полная конструкция:
Dim i As Long For i = 1 To 20 Step 1 операторы Exit For операторы Next |
Неполная конструкция:
Dim i As Long For i = 1 To 20 операторы Next |
Цикл For Each… Next
Полная конструкция:
For Each элемент In группа операторы Exit For операторы Next |
Неполная конструкция:
For Each элемент In группа операторы Next |
Цикл Do While… Loop
Условие до операторов:
Do While условие операторы Exit Do операторы Loop |
Условие после операторов:
Do операторы Exit Do операторы Loop While условие |
Цикл Do Until… Loop
Условие до операторов:
Do Until условие операторы Exit Do операторы Loop |
Условие после операторов:
Do операторы Exit Do операторы Loop Until условие |
Цикл While… Wend
While условие операторы Wend |
Отключение обновлений экрана
Отключение обновлений экрана позволяет ускорить длинную процедуру и скрыть мельтешение (мерцание) экрана во время ее выполнения:
Application.ScreenUpdating = False операторы Application.ScreenUpdating = True |
Отмена оповещений и сообщений
Отмена оповещений и сообщений в ходе выполнения процедуры:
Application.DisplayAlerts = False операторы Application.DisplayAlerts = True |
Например, при закрытии книги Excel из кода VBA без сохранения не будет появляться диалоговое окно с предложением сохранить книгу перед закрытием.
InputBox и MsgBox
Dim a As String a = InputBox(«Напишите что-нибудь:») MsgBox a |
Скрыть лист
‘Скрыть лист Sheets(«Лист1»).Visible = False ‘Отобразить лист Sheets(«Лист1»).Visible = True |
Защита листа
‘Защитить лист Worksheets(«Лист1»).Protect ‘Снять защиту листа Worksheets(«Лист1»).Unprotect |
Пользовательская форма
Памятка по работе с формой:
‘Загрузить (открыть) форму в модальном окне UserForm1.Show ‘Загрузить (открыть) форму в немодальном окне UserForm1.Show 0 ‘Скрыть форму UserForm1.Hide Me.Hide ‘Показать скрытую форму UserForm1.Show ‘Выгрузить (закрыть) форму Unload UserForm1 Unload Me |
Немодальное окно можно скрыть и закрыть как из модуля формы, так и из других модулей. Модальное окно можно скрыть и закрыть только из модуля формы. Ключевое слово Me
используется только в модуле формы.
Удаление строк и столбцов
‘Удалить строку №9 Cells(9, 4).EntireRow.Delete ‘Удалить столбец №4 Cells(9, 4).EntireColumn.Delete |
Открыть папку или файл
Открыть папку из кода VBA Excel или любой файл по его расширению в программе по умолчанию для просмотра:
‘Открыть папку ThisWorkbook.FollowHyperlink («C:Тестовая») ‘Открыть файл ThisWorkbook.FollowHyperlink («C:ТестоваяДокумент1.docx») |
Закрыть все книги
Закрыть все книги Excel без сохранения изменений, кроме текущей книги с кодом:
Dim myWB As Workbook For Each myWB In Workbooks If Not myWB Is ThisWorkbook Then myWB.Close False Next |
Чтобы закрыть все книги с сохранением изменений, необходимо заменить False на True.
Вы можете сохранить краткий справочник для начинающих программировать в VBA Excel в свою социальную сеть, чтобы эта памятка всегда была под рукой.
09.02.09 — 15:00
Надо выгрузить данные в эксель. Но там много листов, мне нужно получить нужный. Ънаю как перебором, а как просто найти по имени?
Gbie
Екс= НОвый COMОбъект(«Excel.Application») ;
НашФайл = Екс.Workbooks.Open(путьКФайлу);
Лист = НашФайл.Sheets.Name(«ВП»);
не идет, да и сам чую наверно неверно, но как?
1 — 09.02.09 — 15:03
*******************************
Открытие книги (файла):
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
ПутьКФайлу — полный путь к файлу книги Excel.
Выбор листа книги для работы с ним:
Лист = Книга.WorkSheets(НомерЛиста);
или
Лист = Книга.WorkSheets(ИмяЛиста);
НомерЛиста — номер листа в книге, ИмяЛиста — имя листа в книге.
Получение значения ячейки листа:
Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;
НомерСтроки, НомерКолонки — номер строки и номер колонки, на пересечении которых находится ячейка.
Важно: не забывайте поле выполнения нужных действий добавлять код Эксель.Quit(); , иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
*********************************************
2 — 09.02.09 — 15:05
Лист = НашФайл.Sheets.Item(«ВП»);
3 — 09.02.09 — 15:06
мульен вариантов
4 — 09.02.09 — 15:06
спасибо
5 — 09.02.09 — 16:06
И еще, уж извените в тему.
Как записать измененый файл, наверно типа
НашФайл.Save(); правильно?
А вот как его показать пользователю? Наверно что то типа Visible…?
6 — 09.02.09 — 16:12
7 — 09.02.09 — 16:12
а как можно выбрать только строчки? скажем все строчки по столбец ВВ?
8 — 09.02.09 — 16:17
(7)
Для Х=1 по Лист.UsedRange.Row.Count Цикл
Сообщить(«»+Лист.Cells(Х, НомерКолонки).Value );
КонецЦикла;
На вскидку, как то так. :):):)
9 — 09.02.09 — 16:21
Row.Count в листе 65000:)) все не выкинет?
10 — 09.02.09 — 16:27
(9) Что не выкинет? Куда не выкинет? Кто здесь?
11 — 09.02.09 — 16:28
(9) читай справку по UsedRange
12 — 09.02.09 — 16:28
Row.Count в листе Эксель 65000:))
не получится такого цикла от 1 до 65000?
13 — 09.02.09 — 16:29
а..понял..по смыслу догадался
14 — 09.02.09 — 17:39
на Лист.UsedRange.Row.Count ругается
15 — 10.02.09 — 07:23
ап
16 — 10.02.09 — 07:27
попытка
олеЕксель = новый COMОбъект(«Excel.Application»);
исключение
Предупреждение(«Не удалось создать объект автоматизации для работы с MS Excel!»);
возврат;
конецпопытки;
попытка
олеКнига = олеЕксель.Workbooks.Open(стрИсточник);
исключение
Предупреждение(«Не удалось открыть для чтения выбранный файл!»);
возврат;
конецпопытки;
олеЛист = олеКнига.Worksheets.Item(1);
чисСтрок = олеЛист.UsedRange.Rows.Count;
17 — 10.02.09 — 07:45
(16) а как цикл запустить чтобы вывелись строчки с первой строки по столбец ВВ например? можно использовать запрос?
18 — 10.02.09 — 07:47
(17)сам то хоть понял чего спросил … с первой строки по столбец… это как ты себе представляешь?
19 — 10.02.09 — 07:49
(18) А что? «Копать от забора и до обеда»….
20 — 10.02.09 — 07:49
(16) Ну конечно же Rows. :):) Досадная очепятка.
21 — 10.02.09 — 07:49
с ячейки А1 по последюю ячейку столбца ВВ
22 — 10.02.09 — 07:50
может запрос можно использовать? что нибудь (select * from олеЛист)? проканает?
23 — 10.02.09 — 07:52
(21)
Для Х=1 по Лист.UsedRange.Rows.Count Цикл
Для У=1 По Лист.UsedRange.Columns.Count Цикл
Сообщить(«»+Лист.Cells(Х, У).Value );
КонецЦикла;
КонецЦикла;
24 — 10.02.09 — 07:56
(23)нормально выводит…только значения в столбик…а как чтобы строка в строку выводилась?
25 — 10.02.09 — 08:02
(24) Эээ, ну посмотри в СП: ТабличныйДокумент; Присоединить…. ну, и т.д.
26 — 10.02.09 — 08:11
блин…жалко запросом нельзя сделать…..
блин а вопрос в офф- можно конвертировать файл эксель в дбф4?
27 — 10.02.09 — 08:14
ADO … и хоть за запрашивайся
28 — 10.02.09 — 08:24
(27)пример есть?
29 — 10.02.09 — 08:48
ап
skunk
30 — 10.02.09 — 10:34