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

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

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

ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

ShIvADeSt



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

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

 
Обратите внимание, этот топик для помощи в изучении и использовании VBA. Посему запросы типа "Напишите мне такой-то макрос, я VBA не знаю и знать не хочу" не приветствуются.
Древняя мудрость: "Накорми голодного рыбой и он погибнет, научи его ловить рыбу и ты спасешь его."(R)
 
Предыдущие ветки топика: Часть 1
 
Информация общего характера:
  • Список соответствия имен функций в английской и русской версиях Excel
  • Описание Microsoft Excel File Format (eng.)
     
    Рекомендации:
    Если у Вас есть проблема, не решаемая стандартными средствами 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.
  • Приемы, хитрости, трюки и нюансы работы в Microsoft Excel - сайт "Планета Excel", целиком посвященный Excel и всему, что с ним связано.
  • Microsoft Excel: Таблицы и VBA. Справочник. Вопросы и Ответы. Советы. Примеры.  
     
    Родственные топики:
  • Вопросы по работе с MS Excel - Excel FAQ - часть 1, часть 2, часть 3
  • Технические проблемы с MS Office 2003 или Office XP.
  • Word VBA все вопросы по Word VBA туда
  • Access все вопросы по программированию в Access туда
  • Книжульки по VBA - книги по программированию с использованием VBA
     
    Конкретные вопросы:
    Форма-заставка
    Как запустить макрос при изменении положения курсора или значения ячейки
  • Пример 1
  • Пример 2
  • Пример 3 (проверка области)
  • Пример 4
  • Пример 5
    Зацикливание в функции Change или SelectionChange
     
    Ранжирование без пробелов (макрос включает функции сортировки массива и удаления дубликатов, работает и в Excel 2007)
  • под Office 97
     
    Добавление в главное меню своего пункта, ассоциированного с макросом
    Создание ярлыка на рабочем столе
    Снятие защиты листа при забытом пароле
    Смена раскладки клавиатуры
    Скролл формы колесом прокрутки мыши
    Оптимизация кода по быстродействию использованием массивов
    Найти "чужое" окно и нажать в нем кнопку (вписать текст в текстовое поле)
    Работа с UNICODE-символами в VBA: запись, чтение из ячейки, перевод в ASС и обратно
    Как программно подключить дополнительные библиотеки (например, "Microsoft Scripting Runtime" или "Microsoft ActiveX Data Objects 2.8 Library) через References

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:58 23-04-2007 | Исправлено: JekG, 22:32 10-01-2010
    nick7inc



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vasiliy74
    Самое простое - макрос записать и посмотреть.  
     
    Подробнее...
     
    Но это будет побыстрее работать:

    Код:
     
    Dim source As Range, dest As Range, mysheet as worksheet
     
        Set source = Range("A10:B12")
        Set dest = Range("L14")
        set  mysheet = ActiveSheet
        '  или
        '  set  mysheet = worksheets("Имя")
     
        source.Copy
        mysheet.Paste dest
     

     
    Добавлено:
    vasiliy74
    Спасибо. По работе в Excel много пишу.
    Range, как я выше писал, можно через индексы задавать.
     
    Добавлено:
    vasiliy74

    Цитата:
    а далее просто цикл по таблице просто и если один из её столбцов совпадает с именем листа то строку в тот лист, а можно предварительно и отсортировать, на всякий случай  

     
    Дерзайте. Только вы знаете, чего сами хотите.
     
    Добавлено:

    Цитата:
    Sheets("OTCHET").Select

    Думаю, что эта строчка лишняя, поскольку вы используете объекты Range, а в них уже прописана ссылка на Worksheet. Можно, кстати, узнать его имя, и имя книги.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 18:21 17-07-2007 | Исправлено: nick7inc, 18:35 17-07-2007
    vasiliy74



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

    Цитата:
    Самое простое - макрос записать и посмотреть

    не получается ведь в таблице в перемешку данные приходят (это продолжние первой задачи) где мы собирали уникальные значения и создавали листы.
    теперь нужно "бежать" так сказать по таблице в низ и сравнивая значения разносить их строки по созданым листам
     
    да по работе видно хватка железная , я и незнал раньше что в Excel программировать можно  мне уже нравиться круто! потомучто необжиданно !!!
     
     
     

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 18:37 17-07-2007 | Исправлено: vasiliy74, 18:38 17-07-2007
    nick7inc



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно управляющую программу держать не в файле с данными, а в отдельном XLS-файле (который можно со временем в AddIn - XLA  переделать, запускать его из соотв. пункта меню Excel). Кнопки и собственное меню добавлять в Excel (что я и сделал на работе). Этот подход даёт преимущества, когда требуется исправлять ошибки и вносить новые функции, поскольку надо править только один файл, а не все файлы с данными.
     
    Но учиться лучше в одном файле с данными.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 18:49 17-07-2007 | Исправлено: nick7inc, 18:50 17-07-2007
    vasiliy74



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

    Код:
     
    Sub Макрос11()
    Dim search_result As Range
    Dim Start_search As Range
    Dim some_sheet As Worksheet
    Dim search As Range
     
    Set some_sheet = Worksheets("OTCHET")
    Set Start_search = some_sheet.Cells(1, "A")
     
    Set search_result = Cells.Find(What:="Наименование цен", After:=Start_search, LookIn _
            :=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
            xlNext, MatchCase:=False, SearchFormat:=False)
     
    Set search_result = Cells.FindNext(After:=search_result)
    Set search = search_result.Offset(3, 0)
     
    'Dim ws As Worksheet, str As String
    'Dim in_r As Range, out_r As Range
     
    Dim source As Range, dest As Range, mysheet As Worksheet
     
        Set source = Range(search, search.End(xlDown))' но это только колонка, а как мне выделить все её строки? я же с ними буду работать, или нет?????
    дальше не догал    
    Set dest = Range("L14")
        set  mysheet = worksheets("search.Offset(x,у )")'
     
     
        source.Copy
        mysheet.Paste dest
    'конц руборд
     

     
    Добавлено:
    как я понимаю задачу:
    1 определить переменую
    2 присвоить пременой необходимую нам таблиуц
    3 сортировать в переменной значения по задоному столбцу
    4 скопировать значения из переменной по признаку столбца в нужные листы

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 19:01 17-07-2007
    chalvs

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

     
    [q][/q]
     
    Так
    ActiveSheet.Cells(29, "B").Value = UserForm1.TextBox2.Value

    Всего записей: 17 | Зарегистр. 14-07-2007 | Отправлено: 19:17 17-07-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот нужно 2 пункт реализовать у меня понимание такое но что то с синтаксисом не то или идей...

    Код:
     
    Dim GeniralTable As Variant
    Set GeniralTable = Range(Rows(search.Row:search.End(xlRight)),search.End(xlEnd))
     

     
     
    Добавлено:

    вот есть Range(x,y) - как я понял можно задать x-это левый верхний угол, y- правый нижний, у меня есть ячейка search в переменной она стоит в верху нужной мне таблицы но не в самом левом углу как мне выделит таблицу на листе примечание: таблиц на листе несколько отделены они пустыми ячейками ????

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 19:19 17-07-2007 | Исправлено: vasiliy74, 19:45 17-07-2007
    chalvs

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

    Цитата:
    chalvs
    Не за что.
    Только учти, что у тебя оба имени листа и внешнее и внутреннее одинаковые. В моем примере используется внутреннее, а если хочешь его передать в качестве параметра, то используй внешнее с помощью Sheets()

     
    Понял
    Sheets("Лист1").Select
     
     
    Добавлено:
    nick7inc
     
    Когда начинаю писать следуещее слово то TextBox записаное старое  
    надо после выполнеия кода TextBox исчезало старое !!!

    Всего записей: 17 | Зарегистр. 14-07-2007 | Отправлено: 19:40 17-07-2007
    vasiliy74



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

    Код:
     
    Sub CopyPaste()
    Dim search_result As Range
    Dim Start_search As Range
    Dim some_sheet As Worksheet
    Dim search As Range
     
    Set some_sheet = Worksheets("OTCHET")
    Set Start_search = some_sheet.Cells(1, "A")
     
    Set search_result = Cells.Find(What:="Наименование цен", After:=Start_search, LookIn _
            :=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
            xlNext, MatchCase:=False, SearchFormat:=False)
     
    Set search_result = Cells.FindNext(After:=search_result)
    Set search = search_result.Offset(3, -1)
     
     
    Dim table As Variant
    Dim source As Range
     
    Set end_search = Range(search.End(xlToRight), search.End(xlDown)).Offset(-2, 0)
     
    Set source = Range(search, end_search)
    'Range(search, end_search).Select'Тест выделения области таблицы прошёл успешно
     
    End Sub
     

    как дальше сортировать по второй колонке ?
    как после сортировки строки в которых значения во второй колонке равны значению имени листа копировались бы в соотвествующие листы?

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 20:32 17-07-2007 | Исправлено: vasiliy74, 20:33 17-07-2007
    chalvs

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем приве!
    Ребята подскажите формулу
    Есть диапазон A2:A10 и второй D2:D10  
    В этих диапазонах стоят  числа,если очистить A5 и D5 то чтобы в этом
    диапазоне стал серым цветом.
    зарание блогодорю!

    Всего записей: 17 | Зарегистр. 14-07-2007 | Отправлено: 23:09 17-07-2007
    vasiliy74



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

    Цитата:
     
    expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
     

    мне нужно только определить кеу1 для source, это второй столбец... как правильно задать незнаю, пробовал по разному, непоолучается, пишет ошибку, например:

    Код:
     
    source.Sort (Columns(1, 2))
     

     

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 00:54 18-07-2007 | Исправлено: vasiliy74, 01:15 18-07-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как сортировать массив?
    Добавлено:
    сделал сортировку
     

    Код:
     
    Range(search, end_search).Select  
        source.Sort Key1:=search_result.Offset(3, 0), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
        ActiveWindow.SmallScroll Down:=-3
     

     
    Добавлено:
     (это не рабочий код а только то как я его вижу)

    Код:
     
    For Each x in Stolbec
     For Each y in List
      If x=y then copy Row to WorkSheets(y)
      End If  
     Next y
    Next x
     

    где Stolbec, это столбец таблицы, по которому мы проводим сравнение x это ячейки этого столбца, List - это список имён лисов по которым нужно разносить данные, Row это строка которую мы копируем в нужный нам лист. Как? плиз подскажите перерыл кучу инфы примеры все попсовые....
     
    примерно так вижу, но это если бы у нас была сортировка по Stolbec то понятно что копирование в листы происходило последоватетьнобез возврата а так необходимо будет н каждом листе искать последнюю введённую нами запись
     
    Первое непонимание это то как присвоить списки значений у нас их несколько на разных листах

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 12:45 18-07-2007 | Исправлено: vasiliy74, 15:47 18-07-2007
    nick7inc



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

    Цитата:
    Set source = Range(search, search.End(xlDown))' но это только колонка, а как мне выделить все её строки? я же с ними буду работать, или нет?????

    можно, к примеру, попробовать узнать номера строк и колонок из объекта типа Range.  У вас отсутствует та часть кода, где происходит поиск уникальных имён, вот туда (Excel VBA (часть 2)) можно что-то вроде этого вставить:
     

    Код:
     
    dim row1 as long, column1 as long, ws as range, target_sheet as worksheet, source_sheet as worksheet
     
    set target_sheet=worksheets("Имя")
    [...]
    row1=c1.Row
    column1=c1.Column
     
    source_sheet = c1.Parent :ws= source_sheet.Cells.Rows(row1)
    ' или сразу так: ws= c1.Parent.Cells.Rows(row1)
     
     ' Просто, не правда ли? Можно всегда узнать, какому  
     ' листу принадлежит указанный диапазон
     
    msgbox "Sheet name is '" +source_sheet.name+"'."
     
    ws.Copy
    target_sheet.Paste (target_sheet.Cells(row1 + 1, 1))
     
    ' второй параметр должен быть всегда 1, когда копируется строка.  
    ' Если надо иначе, то выделаяем не строку целиком (Row), а формируем диапазон,  
    ' (Range) тогда его можно по горизонтали в любое место вставить.
     
     

     
    Кстати, после копирования можно снять мерцающий курсор вот этим:
     Application.CutCopyMode = False
     
    В c1 типа Range находится одна ячейка, которая меняется циклом и проверяется на уникальность.
     
    Добавлено:
    chalvs

    Цитата:
    если очистить A5 и D5 то чтобы в этом  
    диапазоне стал серым цветом.

    Посмотри главу в Excel "Условное форматирование".  
    В качестве формулы ставишь =И(епусто($A$5);епусто($D$5)) и настраиваешь формат выделения (фон, цвет символа и т.п.)
     
    Если офис у тебя непереведённый, поставь английские варианты формул.
     
     
     
    Добавлено:
    chalvs

    Цитата:
    Когда начинаю писать следуещее слово то TextBox записаное старое  
    надо после выполнеия кода TextBox исчезало старое !!!

     
    Можно всё-таки по-русски писать, а то ничего не понятно.
     
    Добавлено:
    vasiliy74

    Цитата:
    x-это левый верхний угол, y- правый нижний

    Типа того.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 16:12 18-07-2007 | Исправлено: nick7inc, 17:24 18-07-2007
    vasiliy74



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

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 17:23 18-07-2007
    nick7inc



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

    Цитата:
     а так необходимо будет н каждом листе искать последнюю введённую нами запись

     
    В принципе, не сложно написать функцию, которая возвращает первую найденную пустую строку в указанном листе:
     

    Код:
     
    Function Find_empty_row(Mysheet as worksheet) as range
    dim found as Boolean, myrow as Range, mycell as Range
     
    For Each myrow in Mysheet.rows
     found=true
     For Each mycell in myrow
       if not isempty(mycell) then found=false:exit for
     next mycell  
     if found then Find_empty_row=myrow:exit function
    Next myrow
     
    end function
     

     
    Работоспособность не прверял, но должно.
     
    Добавлено:
    Чуть поправил. И еще, здесь нет проверки на переполнение. В Excell ограничено колл-во строк в одном листе. Если не учитывать, то будут сбои при больших масштабах данных.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 17:40 18-07-2007 | Исправлено: nick7inc, 17:43 18-07-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ругается при компиляции "Compile error: Sub or Function not defined" на set target_sheet=sheet("СписокБумаг")   хотя она определена выше:source_sheet as worksheet  
     
    Добавлено:
    ой сорри это ругается на саму функцию sheet наверно нужно sheets??

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 17:48 18-07-2007 | Исправлено: vasiliy74, 17:55 18-07-2007
    nick7inc



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

    Цитата:
    ругается на саму функцию sheet

    Лучше используй worksheets(), sheets() может вернуть ещё и диаграмму, а первый - только лист с ячейками.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 17:56 18-07-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    поправил теперь ругается на  
    ws = c1.Parent.Cells.Rows(row1)
    или  на  
    source_sheet = c1.Parent: ws1 = source_sheet.Cells.Rows(row1)
    не то, ни дгругое его(VBA ) не устраивает не доконца понимаю значение выражение Parent
    Добавлено:
    а ошибка звучит следущим образом: "Run-time error `91`: Object variable or With blok variable not set" я так понял что то с типами не страстается ?? или нет?
     
    Добавлено:
    Общий вид программы мега макроса %)код..
     

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 18:03 18-07-2007 | Исправлено: vasiliy74, 18:16 18-07-2007
    nick7inc



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

    Цитата:
    ws = c1.Parent.Cells.Rows(row1)
    неверно. Объекты так не присваиваются. Забыл SET.
    Parent - это путь вверх по структуре классов Excell.  
     
     
    Добавлено:
    Структура примерно такая:
    Excel->WorkBook->Worksheet->Range->Cell
    Сверху (в данном случае - слева) в низ можно попасть простым выбора члена (через точку):  

    Код:
    ActiveWorkBook.Sheets("My sheet").Range("A1:B10").Cells(1,1)  

     А чтобы в обратном направлении ходить (например, чтобы узнать, какому листу принадлежит наш Range) как раз и нужен PARENT. Что такое члены в структурах (и классах), которые выбираются через точку, лучше глянуть в описание типов Basic.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 18:22 18-07-2007 | Исправлено: nick7inc, 18:30 18-07-2007
    vasiliy74



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    большое спасибо за азы, вроде листал книгу, а вот чтобы так просто и понятно было описано или хотябы упомянуто нет..
    поставил Set он теперь тутже пишет что тип не сочитается "Run-time error '13':Type mismatch"

    Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 18:38 18-07-2007
    nick7inc



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Заходи, пока мне не в тягость.

    Цитата:
    "Run-time error '13':Type mismatch"

    Правильно, тип проверь у ws. Rows() возвращает Range.  
     
    Добавлено:
    На сегодня всё.

    Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 19:15 18-07-2007 | Исправлено: nick7inc, 19:16 18-07-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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 2)
    ShIvADeSt (11-01-2010 10:17): http://forum.ru-board.com/topic.cgi?forum=33&topic=10903


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru