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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Задумался над задачей на тему Evaluate:
    В столбце А какие-то произвольные данные. Если в столбце B мы в каждую ячейку поставим формулу =ЕТЕКСТ(A:A), она будет работать - будут браться значения столбца А из той же строки. Однако, если попытаться сделать вот такой финт:

    Код:
    [A:A]=[ISTEXT(A:A)]

    Ничего не получится, поскольку в данном случае (A:A) - это именно столбец.
    Вопрос в том, как заставить evaluate понимать разницу между массивом-массивом и массивом-ячейкой. И возможно ли такое в принципе.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 14:09 19-04-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    The okk
    А о коде несколько поподробнее? И к чему финт?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 14:47 19-04-2007
    The okk



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

    Цитата:
    А о коде несколько поподробнее?

      Часто возникают ситуации, когда нужно что-то сделать с ячейками, для которых выполняется какое-либо условие (обычно их надо удалить). Например:
    удалить все строки, в которых (есть неуникальное значение в столбце А)И(в столбце B какая-нибудь ошибка, допустим Н/Д).
      Очевидное решение - пройти в цикле по всем ячейкам мне не кажется удачным, поскольку во-первых, это цикл(!), во-вторых, это цикл по ячейкам.  
      Допустим, со второй проблемой справиться легко - достаточно взять все значения столбцов А и В в массив (a = [A:B]), подключить Dictionary и пройтись по элементам, проверяя для каждого уникальность (Dictionary нужен для проверки существования дубликатов), после чего выгрузить полученный почищенный массив в исходные столбцы (точнее, в их Value). Да, способ простой и быстрый. Но это все равно цикл.
      Мой вариант - в столбец А записать "" везде, где выполняется условие. Т.е.:
    =ЕСЛИ(И(СЧЁТЕСЛИ(A:A;A:A)>1;ЕОШИБКА(B:B));"";(A:A))
    Если запишем это в столбец после последнего, будем иметь там пустые ячейки и непустые. Т.е. можно сразу взять SpecialCells(xlCellTypeBlanks).EntireRow и Delete. Сразу! Все! Без цикла!
     Однако, зачем создавать доп.столбец, писать туда формулу, если можно сразу записать это в столбец А. В виде формулы записать не получится, поскольку возникнет циклическая ссылка. А вот если .Value=Evaluate, то вполне прокатит (уже так делал). Вопрос в том, что записать в Evaluate, ведь
     =ЕСЛИ(И(СЧЁТЕСЛИ(A:A;A:A)>1;ЕОШИБКА(B:B));"";(A:A))
    в данном случае уже не прокатит.

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!  
     
    У меня есть рабочая книга с макросами, в которой я создаю рабочие листы.
     
    У меня вопрос: Как сохранить книгу с листами которые я создал. Имеется ввиду данные без формул, чтоб не сохранять весь макрос, чтоб пользователю были доступни листы с данними.
     
     Я сделал лок но при сохранении он снимается, и можно в комбобоксах делат выборку

    Всего записей: 1 | Зарегистр. 19-04-2007 | Отправлено: 16:13 19-04-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    The okk
    Похоже с Evaluate или чем-то подобным ничего не выйдет. А чем так плох цикл?
    Можно, используя тот же Dictionary, собирать в Union ячееки с повторяющимися значениями. Затем, по приведённому примеру, через SpecialCells(xlCellTypeVisible, xlErrors) получить Range ячеек с ошибками найти пересечение Intersection и, далее, через EntireRow.Delete удалить
     
    Добавлено:
    Несколько описался
    Intercection надо будет искать с Union.EntireRow
    И маленький вопрос, а данные в столбце А уже не нужны, раз результат Evaluate записывается в А:А?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 17:21 19-04-2007 | Исправлено: AndVGri, 04:13 20-04-2007
    konfetkin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую. Есть функция, которая считает в области листа количество ячеек разных форматов. При изменении формата каких-либо ячеек в этой области листа через панель - автоматического пересчета нет, красишь кисточкой - пересчитывает. Что можно сделать? Если с этим вопросом в excel - направьте уж.

    Всего записей: 29 | Зарегистр. 22-09-2006 | Отправлено: 17:42 19-04-2007
    aks_sv

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

    Цитата:
    написать перед For  
    pos = 1&

     
    А можно поподробней, видемо совсем валенок

    Всего записей: 109 | Зарегистр. 18-12-2006 | Отправлено: 18:47 19-04-2007
    Panteran3785

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AndVGri
    [q][/q]Поставь вот это  
    <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">  
     
    А где это сохранить? Пока ничего не получается.

    Всего записей: 9 | Зарегистр. 16-04-2007 | Отправлено: 19:40 19-04-2007 | Исправлено: Panteran3785, 19:41 19-04-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Panteran3785
    Открываешь price.html в Блокноте. В Проводнике на файле price.html (html - расширение может не отображаться, если не включены настройки отображения расширений) нажимаешь правую клавишу мыши, выбираешь "открыть с помощью" в списке программ выбираешь Блокнот (notepad)
    В открывшемся файле построчно
    <html>
    <head>
    вот после этого <head> и вставляешь  <META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">. Закрываешь блокнот и на запрос "сохранить изменения?" отвечаешь Да, конечно. После чего открываешь в Excel Файл/Открыть
     
    Добавлено:
    aks_sv

    Код:
     
    Set pDest = Worksheets.Add
    pos = 1& 'Вот здесь, например
        For i = 4& To pSource.UsedRange.Rows.Count - 3& Step 4&  
     

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 20:44 19-04-2007 | Исправлено: AndVGri, 07:35 20-04-2007
    SERGE_BLIZNUK

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

    Цитата:
    pos = 1& 'Вот здесь, например  

    кстати, использовать то, что при декларировании в переменную заносится 0 - не совсем честно... ;-)))

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 06:49 20-04-2007
    The okk



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

    Цитата:
    использовать то, что при декларировании в переменную заносится 0 - не совсем честн

    Если декларировали не Static, то совсем честно.
     

    Цитата:
    Похоже с Evaluate или чем-то подобным ничего не выйдет. А чем так плох цикл?

    Тем, что хороший код VBA должен максимально использовать возможности Excel, т.е. Dictionary, RegExp и т.д. нужно использовать, когда средствами Excel что-то сделать либо очень сложно, либо вообще невозможно. Даже пустой цикл с проходом по ячейкам может занять довольно много времени.

    Цитата:
    И маленький вопрос, а данные в столбце А уже не нужны, раз результат Evaluate записывается в А:А?

    Ну сам посуди. Если там просто ячейки с константами, то если мы запишем туда A:A, ничего не изменится. Если, например, запишем (каким-либо образом) [IF(ISTEXT(D:D),"",A:A)], то в ячейках, напротив которых в столбце D есть текст, будет пусто, а там, где напротив - не текст, останется то же самое значение. Исчезнут значения только в тех строках, которые все равно будут удалены. Так что, в данном конкретном случае, данные в A:A нам нужны, но не все.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 08:01 20-04-2007
    AndVGri

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

    Цитата:
    Тем, что хороший код VBA должен максимально использовать возможности Excel

    По мне, так лишь бы корректно работало. Хотя в твоём случае, подобный поиск может в последствии дань что-то новое. Извини, но я скорее ремесленник, ковырять особо нет желания. Я чаще чего-нибудь в VBA сделаю, чем, как описано в Excel FAQ, буду ломать голову, как обойтись формулами. Ладно, закругляюсь - это уже флуд с моей стороны.

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 08:32 20-04-2007
    aks_sv

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

    Цитата:
    Set pDest = Worksheets.Add  
    pos = 1& 'Вот здесь, например  
        For i = 4& To pSource.UsedRange.Rows.Count - 3& Step 4&

     
    Спасибо, все ОК

    Всего записей: 109 | Зарегистр. 18-12-2006 | Отправлено: 11:13 20-04-2007
    presnja

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
       Do Until w1.Worksheets(1).Cells(i, 3).Value = ""
        i = i + 1
         
            Do Until w2.Worksheets(1).Cells(j, 3).Value = "" Or w1.Worksheets(1).Cells(i, 3).Value = w2.Worksheets(1).Cells(j, 3).Value
            j = j + 1
            Loop
             
        If w1.Worksheets(1).Cells(i, 3).Value = w2.Worksheets(1).Cells(j, 3).Value Then w1.Worksheets(1).Cells(i, 3).Color = RGB(128, 255, 128)
     
        Loop
     
    подскажите пожалуйста, как мне вложить цикл в цикл?

    Всего записей: 2 | Зарегистр. 20-04-2007 | Отправлено: 11:25 20-04-2007 | Исправлено: presnja, 11:26 20-04-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    presnja
    Не понял, а у вас что? Do в Do - где тут не вложение? Может вам перед внутренним Do сбрасывать j в начальное состояние нужно?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 11:44 20-04-2007
    presnja

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

    Всего записей: 2 | Зарегистр. 20-04-2007 | Отправлено: 11:51 20-04-2007
    aar



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SERGE_BLIZNUK
    AndVGri
    The okk
    Снимаю шляпу

    ----------
    * * *

    Всего записей: 7080 | Зарегистр. 20-11-2003 | Отправлено: 11:56 20-04-2007 | Исправлено: aar, 12:00 20-04-2007
    hackman



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ребята помогите почему в цикле For не меняєтся значение  

    Код:
     
    ttribute VB_Name = "Module30"
    Sub kulik_clear()
     
        Sheets("КУЛ").Select
        For i = 1 To 256
        If Cells(21, i).Value = "slojka" Then slojka = i
        Next i
        Range(Cells(6, 5), Cells(6, slojka - 1)).ClearContents
        For i = 1 To 256
        If Cells(21, i).Value = "tisto" Then tisto = i
        Next i
        Range(Cells(6, slojka + 1), Cells(6, tisto - 1)).ClearContents
        Range(Cells(6, tisto + 1), Cells(6, tisto + 5)).ClearContents
        For i = 1 To 256
        If Cells(21, i).Value = "slinz" Then slinz = i
        Next i
        Range(Cells(6, tisto + 6), Cells(6, slinz - 1)).ClearContents
         
    End Sub
    Sub analiz_vyrobn_rentab()
    Attribute analiz_vyrobn_rentab.VB_Description = "Макрос записан 10.04.2007 (Dkorkuna)"
    Attribute analiz_vyrobn_rentab.VB_ProcData.VB_Invoke_Func = " \n14"
     
    Application.ScreenUpdating = False
     
    Dim Month As String
    'Dim data As Integer
    For data = 105 To 134
    For fnum = 1 To 31
        'data = data + 1
        Sheets("ВХ").Select
    Month = "04"
        If Len(fnum) = 1 Then t = "0" & CStr(fnum): GoTo 5 Else GoTo 10
    10
        t = CStr(fnum)
    5
     
        Cells(data, 2).FormulaR1C1 = _
           "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C4"
       
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C4"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C4"
         
        Sheets("ЛХЗ №5").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C5"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C5"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C5"
         
        Sheets("ГХ").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C7"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C7"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C7"
             
        Sheets("БХ").Select
         
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C8"
         Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C8"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C8"
        Sheets("МП").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C9"
         Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C9"
         Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C9"
         
        Sheets("ЧГ").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C10"
         Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C10"
         Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C10"
         
        Sheets("КХ").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C11"
         Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C11"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C11"
     
        Sheets("СХ").Select
         Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C12"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C12"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C12"
         
        Sheets("РХ").Select
         Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C13"
         Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C13"
         Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C13"
         
        Sheets("ЖШ").Select
         Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C14"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C14"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C14"
           
        Sheets("КМХ").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C15"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C15"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C15"
             
        Sheets("ШП").Select
        Cells(data, 2).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R5C16"
        Cells(data, 3).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R34C16"
        Cells(data, 4).FormulaR1C1 = _
            "='\\hlibprom\fs\Documents\FAU\ANALYTICS\RENTABEL\2007\2007" & (Month) & "\Розсилка\[Рентабельність " & (t) & "_" & (Month) & "_07.xls]ХЗ'!R33C16"
    '    If fnum = 17 Then Exit Sub
    Next fnum: Next data
        End Sub
     

    Всего записей: 185 | Зарегистр. 22-09-2003 | Отправлено: 13:23 20-04-2007 | Исправлено: hackman, 17:11 20-04-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    hackman
    А вот это:
    Цитата:
    ;&icirc;&ccedil;&ntilde;&egrave;&euml;&ecirc;&agrave

    - часть твоей формулы, или просто трансформировалось при выкладывании на форум?
    Может, выложишь файл куда-нибудь?
    Носом чую, что тут 75% кода можно просто выкинуть ибо написан через запись макроса.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 13:48 20-04-2007
    jONES1979



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ;&icirc;&ccedil;&ntilde;&egrave;&euml;&ecirc;&agrave  - это юникоды так преобразуются при пересылке в через http
    сорри за offtop

    Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 14:15 20-04-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