Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA

Модерирует : ShIvADeSt

ShIvADeSt (23-04-2007 01:59): http://forum.ru-board.com/topic.cgi?forum=33&topic=8273  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

RUSmafia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
 
Обсуждаем вопросы только по Excel VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.
 
Вопросы по работе с MS Excel, не относящиеся к программированию, задаем в теме Excel FAQ

 
Обратите внимание, этот топик для помощи в изучении и использовании VBA. Посему запросы типа "Напишите мне такой-то макрос, я VBA не знаю и знать не хочу" не приветствуются.
Древняя мудрость: "Накорми голодного рыбой и он погибнет, научи его ловить рыбу и ты спасешь его."(R)
 
Информация общего характера:
  • Список соответствия имен функций в английской и русской версиях Excel
  • Описание Microsoft Excel File Format
     
    Рекомендации:
    Если у Вас есть проблема, не решаемая стандартными средствами Excel (об этом можно уточнить здесь) или требующая автоматизации, попробуйте для начала записать макрос самим Excel через меню Сервис (Tools) - Макрос (Macro) - Начать запись (Record New Macro). Подробнее здесь. В большинстве случаев получившийся код (Сервис-Макрос-Макросы-Изменить) Вас не удовлетворит, но подскажет, какие объекты-методы-свойства использовать.  
    Другой Ваш помощник - Просмотр объектов (Object Browser). Ну и встроення помощь (F1), естественно.
     
    Если Вы в тупике, покажите Ваш код (или часть кода) здесь.  Если вылазит ошибка, цитируйте ее полностью. Если код слишком большой, используйте тeг [more].
    Используйте отладчик - Breakpoints (F9), Watches (Shift-F9), Steps (F8 и др.) Сильно облегчает поиск ошибок.

     
    Рекомендуется к прочтению:
  • Первые шаги с Excel VBA
  • Excel VBA: Приёмы программирования
  • WinApi. Лекция из курса "Основы офисного программирования и язык VBA" (для продвинутых)
  • Daily Dose of Excel (eng.) - тематический блог: советы по работе с Excel и прочие материалы
  • Excel Macros & Excel VBA Code Tips, Tricks (eng.) - советы, трюки и уловки
  • Mr. Excel (forum) (eng.) - весьма оживленный форум по Excel&VBA.
     
    Родственные топики:
  • Вопросы по работе с MS Excel - Excel FAQ - часть 1, часть 2
  • Технические проблемы с MS Office 2003 или Office XP.
  • Word VBA все вопросы по Word VBA туда
  • Access все вопросы по программированию в Access туда
  • Книжульки по VBA - книги по программированию с использованием VBA
     
    Конкретные вопросы:
    Форма-заставка
    Как запустить макрос при изменении положения курсора или значения ячейки
  • Пример 1
  • Пример 2
  • Пример 3 (проверка области)
  • Пример 4
  • Пример 5
    Зацикливание в функции Change или SelectionChange
     
    Ранжирование без пробелов (макрос включает функции сортировки массива и удаления дубликатов, работает и в Excel 2007)
  • под Office 97
     
    Добавление в главное меню своего пункта, ассоциированного с макросом
    Создание ярлыка на рабочем столе
    Снятие защиты листа при забытом пароле
    Смена раскладки клавиатуры
    Скролл формы колесом прокрутки мыши
    Оптимизация кода по быстродействию использованием массивов

  • Всего записей: 556 | Зарегистр. 31-07-2002 | Отправлено: 21:40 14-10-2004 | Исправлено: lucky_Luk, 20:44 13-04-2007
    Troitsky



    Водник Водкин
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    The okk

    Цитата:
     что делать при удалении? Есть какое-то событие, отвечающее за удаление листа?

    Хм. Можно попробовать при возникновении события Workbook_SheetDeactivate выявить лист, который перестает быть активным, а при событии активации нового листа  Workbook_SheetActivate проверить не удален ли тот, который мы только что покинули.

    Цитата:
    А для маски все равно нужно рисунок создавать? Я маской никогда не пользовался.  
    Пример есть?
    Все тот же пример из шапки: http://webfile.ru/1286731
    Посмотри какой результат с использованием маски, а какой - без ее использования.


    ----------
    Мы в хорошем настроении гуляем по лесам.
    Кто обидеть нас захочет – сам получит по усам.
    Сам полу- получит по усам. Сам полу- получит по усам!

    Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 17:16 18-01-2007
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slech

    Цитата:
    заходим на print, а там кнопочка 1 2 3 жмём на неё и печатается соответсвующий лист

    Наверное, все-таки кнопочкИ 1, 2 и 3. Tak?
    Да нет проблем.
    Вызываешь Control toolbox, вставляешь кнопочки куда нужно на лист, меняешь Caption в свойствах кнопок. Затем двойным кликом по каждой кнопке попадаешь в ее код и вставляешь:
    Код:
    Activeworkbook.Sheets("1").PrintOut
    в соответствующую функцию, естественно изменив название листа.
    Можно еще поиграться с параметрами страницы и что печатать. Например:
    Код:
    Activeworkbook.Sheets("1").PageSetup.PrintArea = "$A$1:$C$5"


    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 20:11 18-01-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Troitsky
    ок. Буду пробовать.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 10:03 19-01-2007 | Исправлено: The okk, 10:49 19-01-2007
    MANRUS

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    в программировании я полный ноль -
    подскажите , как получить список файлов в директории /названия/ в рабочую таблицу

    Всего записей: 476 | Зарегистр. 25-11-2004 | Отправлено: 10:50 19-01-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возник вопрос: есть ли метод дающий коллекцию ячеек, содержащих определенное значение (как Find, только возвращающий не одну ячейку, а диапазон)? SpecialCells, к сожалению, возвращает только ячейки определенного формата и не может найти ячейки, содержащие, например, "тест" - может только найти все ячейки с текстовым значением .

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 15:51 19-01-2007
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MANRUS
    Немного переработанный пример из хелпа:

    Код:
    Sub ListFiles()
    MyPath = "c:\temp\*.txt"    ' Set the path.
    i = 1
    MyName = Dir(MyPath)    ' Retrieve the first entry.
     
    Do While MyName <> ""    ' Start the loop.
        MyName = Dir    ' Get next entry.
        Cells(i, 1).Value = MyName
        i = i + 1
    Loop
    End Sub

     
     
    Добавлено:
    The okk
    Вот такой код вроде работает:

    Код:
    Function FindRange(str As String) As Range
    Dim c As Range
    Dim firstAddress As String
    With ActiveSheet.UsedRange
        Set c = .Find(str, LookIn:=xlValues)
        If Not c Is Nothing Then
            Set FindRange = c
            firstAddress = c.Address
            Do
                Set FindRange = Union(FindRange, c)
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    End Function
     
    Sub test()
    Debug.Print FindRange("test").Address
    End Sub

    Возможно не оптимально. Экспериментируй.
    Интересно, что метод Union объединяет соседние ячейки в одну область, а удаленные добавляет как отдельные области.

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 18:57 19-01-2007 | Исправлено: Yuk, 19:42 19-01-2007
    DeadVillage



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Yuk
    про пример из Хэлпа.... он игнорит первый файл в директории.

    Всего записей: 652 | Зарегистр. 05-12-2003 | Отправлено: 19:44 19-01-2007
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DeadVillage
    Упс

    Код:
    Sub ListFiles()
    MyPath = "c:\temp\*.txt"    ' Set the path.
    i = 1
    MyName = Dir(MyPath)    ' Retrieve the first entry.
     
    Do While MyName <> ""    ' Start the loop.
        Cells(i, 1).Value = MyName
        i = i + 1
        MyName = Dir    ' Get next entry.
    Loop
    End Sub


    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 20:21 19-01-2007
    Plusik

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    народ, помогите, возможно я не в тему, тогда подскажите в какую мне тему.
    есть таблица. используется постоянно в работе: на нее копирутся конфигурации компов и заказы клиентов.
    так вот, таблица эта постоянно засирается какими-то левыми гиперссылками.  
    причем они как вирус плодятся сами.  
    бывает отлистаешь лист к самому верху, а там вообще нет ни одной ячейки без гиперссылки.  
    копирую все в буфер - вставляю значения на новый лист, делаю форматирование. такого рода очистки хватает на пару-тройку недель. потом имеем тоже самое в новой книге.  
    в самой книге никаких макросов вроде нет.  
    работа с книгой ведется с двух менеджерских компов.
    ссылки двух видов:  
    mailto:aob@.videofon.net
    http://www.attribute.ru/
     
    Комп проверялся самыми разными антивирусами, переустанваливалась винда, офис. но все равно глюк сохраняется. возможно  
    Заметил, что вручную создать гиперссылку в пустой ячейке невозможно.
    вопрос собственно в том - где порыть на предмет вредоносного кода.
    постоянно пользуюсь прайсом этой конторы
    http://www.attribute.ru/PRICE%20ATTRIBUTE.zip
    помогите.. а то уже достало.
     
    образец
    http://plusik.nm.ru/hyperlinks.xls

    Всего записей: 79 | Зарегистр. 13-05-2003 | Отправлено: 00:10 20-01-2007 | Исправлено: Plusik, 00:17 20-01-2007
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Привет, всем!
    Есть проблемма с оптимизацией кода на ВБА для екселя.
    Есть макрос в екеселе, который импортирует данные из 3 текстовых файлов в таблицу, при этом делается поиск и некоторая простая обработка данных.  
    Все бы хорошо, но с производительностью напряг: первые 200-300 записей обрабатываются быстро, затем появаляются тормоза, причем чем дальше тем заметнее.
    Опытным путем установил, что тормоза происходят при операции записи в ячейки ексельной таблицы.
    Размер результирующей таблицы примерно 10000*20.
    Посоветуйте, плз., как можно победить тормоза екселя!
     
    ЗЫ: запускал скрипт на входные, пришел в сегодня на работу - все еще выполняется, причем обработалось только ~3000 записей.
     
    ЗЗЫ: сначала скрипт просто разбирал файлы и загонял в таблицу данные, затем в целях победить тормоза в скрипте же сделал конвертацию текстовых файлов в DBFы, после чего запросом АДО, получаю необходиму таблицу с данными, считываю сразу весь recordset в массив с помощью GetRows и уже из массива заношу в таблицу. При этом все равно требуется небольшая обработка данных по условиям.
     
    ИМХО: не должен ексел так тормозить, данных конечно много, но не столько же чтоб уложить его на повал. Комп у меня нормальный Пень4 3200, 512 Мб. все данные лежат на локальном диске, в т.ч. и промежуточные DBFки.
     
    Добавлено:
    вопрос снят - надо было просто выключить расчет формул.
    Извиняюсь за беспокойство

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 08:59 22-01-2007
    Anton T

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    The okk

    Цитата:
    Возник вопрос: есть ли метод дающий коллекцию ячеек, содержащих определенное значение (как Find, только возвращающий не одну ячейку, а диапазон)? SpecialCells, к сожалению, возвращает только ячейки определенного формата и не может найти ячейки, содержащие, например, "тест" - может только найти все ячейки с текстовым значением

    Вот здесь.
     
    Добавлено:
    P.S. Когда сделаешь ListView?

    Всего записей: 325 | Зарегистр. 12-04-2006 | Отправлено: 13:34 22-01-2007
    SERGE_BLIZNUK

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Plusik
    чего-то все молчат как рыбы...
    А я хотел послушать, что скажут умные и опытные гуру... Ладно. Раз молчат, прийдётся мне сказать немного.
    1) у меня стоит настройка безопасности "Безопасность макросов" - средняя - спрашивать у пользователя.
    Так вот, при открытии вашего hyperlinks.xls происходит запрос на отключение макросов.
    Внутри в Class Modules какой-то Class1 После export'а Подробнее... что это, откуда взялось и зачем нужно я не понимаю...
     
    2) появление строчек с "mailto / http" могу объяснить тем, что кто-то из менеджеров использует при копировании информацию с какой-то книги с гиперссылками или с Web online (кстати наиболее вероятный вариант)...
     
    3) для решения проблемы нужно поймать его за этим делом... и отвыкнуть...
    Но, в качестве альтернативного варианта, раз уж мы в ветке программирования - можно написать макрос, который удаляет ВСЕ гиперссылки. И засунуть его на Open или на BeforeSave...
     

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 13:46 22-01-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Anton T
    Спасибо. Это я для твоего случая метод пишу (чтобы ListView заполнялся согласно фильтру). На другом форуме посовещались. Решается через SpecialCells и AdvancedFilter:

    Код:
    Sub Macro1()  
        Dim strMsk As String, rng As Range, rngCrit As Range  
         
        On Error Resume Next  
        strMask = InputBox("Insert a mask", "Select by mask", "'=TEST*")  
        Set rngCrit = Sheets("Sheet2").Range("A1:A2")  
        Set rng = Sheets("Sheet1").[C:C]  
        rngCrit(1) = rng(1)  
        rngCrit(2) = strMask  
         
        rng.AdvancedFilter xlFilterInPlace, rngCrit  
        rng.Resize(rng.Count - 1).Offset(1).SpecialCells(xlCellTypeConstants).SpecialCells(xlCellTypeVisible).Select  
        rng.Parent.ShowAllData  
    End Sub

    Жирным выделен нужный диапазон (это при условии, что в первой строке заголовок). Надо только пройтись по нему в цикле и заполнить ListView:
    Код:
     
    For Each Cell In rng.Resize(rng.Count - 1).Offset(1).SpecialCells(xlCellTypeConstants).SpecialCells(xlCellTypeVisible)
    'тут добавляем элемент Item = Cell и его подэлементы:
    'SubItems(1) = Cell.Offset(,1) - ячейка на 1 справа от Cell
    'SubItems(2) = Cell.Offset(,2) - ячейка на 2 справа от Cell
    и т.д.
    Next Cell
     

     
    Вот только пока не могу подобрать синтаксиса, чтобы в ListView массивами писать. Пока понял одно - сразу ВСЕ записать 100% не получится, поскольку Subitems - это одномерный массив только для одного элемента. Сразу получить/записать двухмерный массив SubItems для всего ListView не получится. Пытаюсь записать хотя бы все SubItems для одного элемента в одно действие типа:  
    .SubItems(Array(1 to 10)) = Range("A1:A10")
    Пока не получается.
     
    Завтра допишу код. Сегодня вряд ли получится.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 13:58 22-01-2007 | Исправлено: The okk, 14:01 22-01-2007
    Anton T

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    The okk
    Пробовал, не получается.
    А может DataGrid(табличный набор)?

    Всего записей: 325 | Зарегистр. 12-04-2006 | Отправлено: 14:31 22-01-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Anton T
    да тут дело не в том, что записывать, а именно как и куда записывать. Т.е. не так важно, что будет в правой части, лишь бы по типу и размерности подходило. - Там должен быть просто массив строк (String). Можно просто через запятую: Array (str1,str2,str3...,strN).
    Важно, в какой форме должна быть левая часть.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 15:11 22-01-2007
    Pantera3587

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть лист ЗП со следущими данными:
    Иванов    1 отдел    2500
    Петров    1 отдел    3500
    Сидоров    2 отдел    2000
    Петров    2 отдел    2500
    Иванов    3 отдел    2200
    где столбцу А присвоила имя Фамилия, столбцу В - Отдел
    Есть лист КолЧас со следующими данными:
    Иванов    3 отдел    14
    Петров    2 отдел    18
    Сидоров    2 отдел    20
    Петров    1 отдел    10
    Иванов    1 отдел    9
    где столбцу А присвоила имя Фамилия1, столбцу В - Отдел1
     
    Есть лист Общая, куда копируются данные с листа ЗП и копируется с листа КолЧас только 3 столбец с количеством часов, но так, чтобы эти часы скопирвались в те ячейки, в которых соотвествствовала фамилия и отдел. Используя запись макроса, получила следующий код:
    Sub Макрос2()
    '
    ' Макрос2 Макрос
    ' Макрос записан 22.01.2007 (DIREKTOR)
    '
     
    '
        Sheets("ЗП").Select
        Columns("A:A").Select
        Selection.Insert Shift:=xlToRight
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "=CONCATENATE(Фамилия,Отдел)"
        Range("A1").Select
        Selection.Copy
        Range("A2:A5").Select
        ActiveSheet.Paste
        Sheets("КолЧас").Select
        Columns("A:A").Select
        Application.CutCopyMode = False
        Selection.Insert Shift:=xlToRight
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "=CONCATENATE(Фамилия1,Отдел1)"
        Range("A1").Select
        Selection.Copy
        Range("A2:A5").Select
        ActiveSheet.Paste
        Sheets("ЗП").Select
        Columns("A:D").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Общая").Select
        Columns("A:D").Select
        ActiveSheet.Paste
        Range("E1").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],КолЧас!C[-4]:C[-1],4,FALSE)"
        Range("E1").Select
        Selection.Copy
        Range("E2:E5").Select
        ActiveSheet.Paste
    End Sub
    Теперь пытаюсь оптимизировать этот код, исключив вставку нового столбца на всех листах, но ничего не получается. Вот что я написала, используя предыдущие подсказки:
    Sub Копирование()
         
        Dim i As Variant
        Dim j As Variant
        Dim i1 As Variant
        Dim j1 As Variant
        Dim p As Variant
        Dim p1 As Variant
         
        Range("A1", Range("A65536").End(xlUp)).Copy Sheets(3).Range("a1")
        Range("b1", Range("b65536").End(xlUp)).Copy Sheets(3).Range("b1")
        Range("c1", Range("c65536").End(xlUp)).Copy Sheets(3).Range("c1")
         
        With Sheets("ЗП")
        i = Range("A1", Range("A65536").End(xlUp))
        j = Range("B1", Range("B65536").End(xlUp))
         
        p = "=i&"" ""&j"
         
        End With
         
        With Sheets("КолЧас")
        i1 = Sheets("КолЧас").Range("A1", Range("A65536").End(xlUp))
        j1 = Sheets("КолЧас").Range("B1", Range("b65536").End(xlUp))
         
        p1 = "=i1&"" ""&j1"
        End With
         
        If p = p1 Then
     
        Sheets("КолЧас").Activate
        Range("c1", Range("c65536").End(xlUp)).Copy Sheets(3).Range("d1")
       
        End If
         
     
    End Sub
    Может кто поможет?

    Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 21:30 22-01-2007
    Plusik

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SERGE_BLIZNUK
    сенькс за участие.

    Всего записей: 79 | Зарегистр. 13-05-2003 | Отправлено: 05:57 23-01-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pantera3587
    А зачем тут макрос? Это решается формулами (посмотри в хелпе описание функции ВПР).

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 07:45 23-01-2007 | Исправлено: The okk, 07:48 23-01-2007
    Anton T

    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Pantera3587
    Лист ЗП куда скорпировать? В листе КолЧас до конца строки?
     
    Добавлено:
    Pantera3587
    Sub копия()
    Dim NextRow As Long
    Dim a As Integer
     
    NextRow = Application.WorksheetFunction.CountA(Worksheets(2).Range("A:A")) + 1
    Worksheets(1).Activate
    Range("a1", Range("A65536").End(xlUp)).Copy Sheets(2).Cells(NextRow, 1)
     
    End Sub

    Всего записей: 325 | Зарегистр. 12-04-2006 | Отправлено: 09:16 23-01-2007
    Pantera3587

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Anton T
    Нет, лист ЗП копируется в лист Общая, лист КолЧас тоже на лист Общая, только со второго листа копируется в лист Общая последний столбец, т.е. он добавляется к уже скопированным данным с листа ЗП. Если посмотреть на данные, то, например, Иванов 1 отдел на листе ЗП находится в первой строчке, а на листе КолЧас в последней, а на листе Общая должна сформироваться таблица, где оставшиеся данные должны скопирваться именно для Иванова 1 отдел (цифра 9 при копировании с листа КолЧас  должна оказаться на листе Общая в четвертом столбце в строке 1) и т.д.
     
    The okk
    Действительно с помощью функции эта задача решается очень просто, но приходится каждый раз добалять лишний столбец на все листы, использовать функцию сцепить, т.к. данные, например, фамилии повторяются, а функция ВПР ищет только первое совпадающее значение, но по второму столбцу данные то разные. Поэтому хочется написатьтакой макрос, который бы исключал добавление лишнего столбца.
     
    Может не очень понятно написала?

    Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 10:27 23-01-2007
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA
    ShIvADeSt (23-04-2007 01:59): http://forum.ru-board.com/topic.cgi?forum=33&topic=8273


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru