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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sakhsnake
    После всех этих постингов вокруг да около ты уже можешь нормально объяснить и привести примеры ошибок? В чем проявляется неверность данных? Уверен ли, что в первоначальных массивах данные соответствуют желаемому? Как данные попадают в архивы?
     
    Добавлено:
    Бери пример со своего 3-го поста. А то я не успеваю за полетом твоей мысли

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 04:56 02-08-2006
    sakhsnake



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dneprcomp
     
    Блин я даже выложил ссылку на файл с обробатываемыми данными и модулем где все и писал.
     
    Про ошибки. В результирующей базе (all_data_db) идет расхождение по количеству. Допустим в db_min одно наименование (допустим: вася пупкин) число одно (допустим: 5), а в all_data_db получается что наименование тоже что и в db_min а количество может быть другим или вообще отсутствовать.
    В db_min и db_max данные верно передаются - проверял.
     
    P.S. Скачай архив да посмотри на результаты. Там все наглядно будет видно.

    Всего записей: 21 | Зарегистр. 28-08-2005 | Отправлено: 07:12 02-08-2006 | Исправлено: sakhsnake, 07:14 02-08-2006
    dneprcomp



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

    Цитата:
     я даже выложил ссылку на файл с обробатываемыми данными и модулем где все и писал.  
    Да, выложил. Без объяснений и в связи с вопросом о форматном поиске. Нам что, догадываться надо? Что ты делаешь с модулем? Как и где происходит его использование? В какой последовательности происходит вызов функций? Ты же не даешь полной информации.
    Цитата:
    Допустим в db_min одно наименование (допустим: вася пупкин) число одно (допустим: 5), а в all_data_db получается что наименование тоже что и в db_min а количество может быть другим или вообще отсутствовать.

    Цитата:
    db_min(0,1) - количество товара на точке
    db_max(0,1) - количество товара на складе  
    all_data_db(0,1) - количество товара на точке  
    all_data_db(0,2) - количество товара на складе
    Что с чем не совпадает?
    PS. Желательно выдерживать стандарт и в названих функций и переменных не использовать кирилицу. Кирилица читается не везде.
    PPS.
    Цитата:
    ' Определение какое число больше kolvo_nal или kolvo_sales
    ' и занесение наибольшего списка в новый лист
    Логику этого пока не понимаю... Плясать надо от большего списка. Больший должен быть складской. Даже если товара на складе нет и даже если товара уже никогда не будет, товар должен быть в складском списке с количеством 0.  
     
     
    Добавлено:

    Цитата:
    ' Условия для корректной работы Sub Создание_списка_товаров()
    ' В книге должны быть два листа 1-Наличие 2-Движение товаров
    ' В каждом листе три столбца 1-Название товара 2-Количество 3-Название точки
    В тех файлах, что ты поместил в архив данное условие не соблюденно. По крайней мере нет названия точки.

    Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 10:04 02-08-2006
    alin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Огромное спасибо, скорректировал по Вашей рекомендации, ниже приведенный результат работает:
    Private Sub OK_Click()
    If CheckBox1.Value And CheckBox2.Value And CheckBox3.Value Or _
        CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False Or _
        CheckBox1.Value And CheckBox2.Value Or _
        CheckBox1.Value And CheckBox3.Value Or _
        CheckBox2.Value And CheckBox3.Value Then _
        MsgBox "Определитесь с операцией!"
    If CheckBox1.Value And CheckBox2.Value = False And CheckBox3.Value = False Then
        Range("I3").Formula = "=H3-C3"    

        Unload Me
        Else
    If CheckBox2.Value And CheckBox1.Value = False And CheckBox3.Value = False Then

        Unload Me
        Else
    If CheckBox3.Value And CheckBox1.Value = False And CheckBox2.Value = False Then

        Unload Me
    End If
    End If
    End If
    End Sub
    Следующий вопрос. Как сделать, чтобы формула заносилась не в ячейку "I3", а в определенную ячейку (активную или отмеченную CheckBox или т.п.).

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 12:16 02-08-2006 | Исправлено: alin, 12:18 02-08-2006
    Yuk



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

    Цитата:
    Как сделать, чтобы формула заносилась не в ячейку "I3", а в определенную ячейку (активную или отмеченную CheckBox или т.п.).

    У тебя Range("I3") контролирует, в какую ячейку идет запись. Вместо этого может быть любое выражение, возвращающее объект Range:
    Selection - выделенная ячейка
    Cells(3,9) - ячейка из 3 строки 9 столбца, то же что Range("I3").
    Вместо "I3" Может быть переменная типа String, вместо 3 и 9 - переменные типа Long.
    Переменную можно взять из формы, например Range(TextBox1.Value).
     
    У тебя все еще бардак с If. Используй конструкцию
    Код:
    If ... Then
    ...
    ElseIf
    ...
    ElseIf
    ...
    Else
    ...
    End If
     

     
    подправил ошибку с ElseIf

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 15:59 02-08-2006 | Исправлено: Yuk, 20:35 07-08-2006
    jtyler



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

    Всего записей: 8 | Зарегистр. 27-07-2006 | Отправлено: 16:52 02-08-2006 | Исправлено: jtyler, 17:02 02-08-2006
    alin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Спасибо!!! Буду пробовать. Хотя с теорией у меня большие проблемы...
     
    Добавлено:
    Yuk
    Извиняюсь за повтор, но указанный ниже код работает благодаря Вашей поправке:
    Private Sub OK_Click()
    If CheckBox1.Value And CheckBox2.Value And CheckBox3.Value Or _
        CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False Or _
        CheckBox1.Value And CheckBox2.Value Or _
        CheckBox1.Value And CheckBox3.Value Or _
        CheckBox2.Value And CheckBox3.Value Then _
        MsgBox "Определитесь с операцией!"
    If CheckBox1.Value And CheckBox2.Value = False And CheckBox3.Value = False Then
        Selection.Formula = "=H3-C3"
        Selection.Select
            With Selection.Interior
                .ColorIndex = 4
                .Pattern = xlSolid
            End With
        Unload Me
        Else
    If CheckBox2.Value And CheckBox1.Value = False And CheckBox3.Value = False Then
            Selection.Formula = "=C3-H3"
            Selection.Select
                With Selection.Interior
                .ColorIndex = 3
                .Pattern = xlSolid
                End With
        Unload Me
        Else
    If CheckBox3.Value And CheckBox1.Value = False And CheckBox2.Value = False Then
            Selection.Formula = "=C3"
            Selection.Select
                With Selection.Interior
                .ColorIndex = 2
                .Pattern = xlSolid
                End With
        Unload Me
    End If
    End If
    End If
    End Sub
     
    Это замечание я не понял, если не трудно поясните:

    Цитата:
    У тебя все еще бардак с If. Используй конструкцию  
    Код:
    If ... Then  
    ...  
    Else If  
    ...  
    Else If  
    ...  
    Else  
    ...  
    End If

    Но главная проблема в том, что я не могу решить свою задачу, которая на первый взгляд показалась мне простой и заключается она в следующем:
    в ячейки по порядку заносятся данные по поступлению или отгрузке каких-либо деталей, например,  
    деталь «A» в ячейки A1, B1, C1…
    деталь «B» в ячейки A2, B2, C2 …
    деталь «C» в ячейки A3, B3, C3…
    ………………….до 10-ти деталей.
    Необходимо рассчитать в определенный момент, сколько  поступило или отгружено деталей «А», «B», «C» и т. д. При этом, если значение не изменилось, то, следовательно, никакие операции не совершались.

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 18:23 02-08-2006
    ifaust

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как можно создать HTML файл следующим образом:
    1. Взять верхние тэги, "шапку" из одного текстового файла
    2. Затем добавить таблицу
    3. Добавить нижние тэги из другого файла
     
    Какой ещё алгоритм можно использовать?

    Всего записей: 16 | Зарегистр. 08-04-2006 | Отправлено: 13:03 04-08-2006
    unhappy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто-нибудь знает как программно удалить из книги макросы?
    У меня в книге есть пачка листов. Допустим: на каждой есть кнопка с надписью "отправить!" и связанная с процедурой SendMe() находящейся в этом-же листе.
    Удалить все кнопки я могу просто сделав

    Код:
    Dim wss As Worksheet
    For Each wss In Worksheets
    If wss.Shapes.Count > 0 Then wss.Shapes(1).delete
    Next

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

    Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 15:56 04-08-2006
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    unhappy
    Плохо искал.
    Посмотри здесь:
    http://www.cpearson.com/excel/vbe.htm
     
     
     
    Добавлено:
    alin

    Цитата:
    Это замечание я не понял, если не трудно поясните

    У тебя вот так:
    Код:
    If ... Then
    ...
    Else
       If ... Then
       ...
       Else
          If ... Then
          ...
          End If
       End If
    End If

    Видишь разницу?
     

    Цитата:
    в ячейки по порядку заносятся данные по поступлению или отгрузке каких-либо деталей, например,  
    деталь «A» в ячейки A1, B1, C1…
    деталь «B» в ячейки A2, B2, C2 …
    деталь «C» в ячейки A3, B3, C3…
    ………………….до 10-ти деталей.
    Необходимо рассчитать в определенный момент, сколько  поступило или отгружено деталей «А», «B», «C» и т. д.  

    Другими словами тебе нужно посчитать, сколько рядов заполнено, так? Что значит "в определенный момент"?
    Нельзя просто через формулу =СЧЁТЗ(A1:A10)?
     

    Цитата:
    При этом, если значение не изменилось, то, следовательно, никакие операции не совершались.

    Вот здесь я не понял, что это меняет? Явно какая-то связь с "определенным моментом".
     
    Опиши, как ты представляешь себе работу пользователя.
     
     
     
    Добавлено:
    ifaust
    HTML конвертеров уже куча написано. Причем код обычно открыт и модифицировать его не так сложно.  
    Пример: http://www.mvps.org/dmcritchie/excel/xl2html.htm
     
    Если хочешь работать с текстовыми файлами, почитай здесь:
    http://www.cpearson.com/excel/imptext.htm
    По-английски, но код можно потестировать и так.
     
    Еесть и другие варианты. Посмотри в хелпе OpenTextFile, CreateTextFile, OpenAsTextStream.

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 16:31 04-08-2006
    unhappy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Спасибо  
    Каюсь - искал только на русскоязычных. Впредь буду умнее

    Всего записей: 681 | Зарегистр. 25-10-2002 | Отправлено: 17:52 04-08-2006
    alin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Каждые два часа в ячейки работник заносит данные по поступлению или отгрузке деталей, например:
    Деталь "А": (0.00)A1=10, (2.00)B1=20, (4.00)C1=30…(12.00)F1=30, (14.00)G1=20, (16.00)H1=10…
    Деталь "В": (0.00)A2=30, (2.00)B2=20, (4.00)C2=10…(14.00)G2=10, (16.00)H2=20, (18.00)I2=30…
    Необходимо рассчитать за каждые восемь часов 0.00-8.00, 8.00-16.00, 16.00-24.00 (и за сутки 0.00-24.00) сколько поступило или отгружено тех или иных деталей, причем обратите внимание, что до определенного времени детали накапливались(или отгружались), какое-то время кол-во деталей не изменялось.
    Если изменения проводились например в промежутке между 2.00 и 4.00 то приходится заносить на 4.00 два значения например 20/30 (наверное удобнее в этом случае под каждый час отвести две ячейки, хотя теоретически таких изменений может быть и 3) .
    Имеется возможность получать данные (=ASSBSERV|assb!'T10', =ASSBSERV|assb!'T11', =ASSBSERV|assb!'T12', …) из другой программы по количеству деталей в данную секунду.
    Приветствуются любые предложения и советы по оптимизации этой задачи.
    Заранее благодарен!

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 10:35 06-08-2006
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alin
    Не до конца понял условие.
    Числа, которые вводятся, это количество деталей "на складе" в определенное время? Или сколько поступило/отгружено в данную единицу времени?
    Может ли быть несколько строк для одной и той же детали, например, данные за несколько дней?
    Можешь дать полный пример с ответами для пары деталей? Как надо показать ответы? В ячейках с динамическим обновлением или,например, при нажатии кнопки пользователем.
     

    Цитата:
    Если изменения проводились например в промежутке между 2.00 и 4.00 то приходится заносить на 4.00 два значения например 20/30 (наверное удобнее в этом случае под каждый час отвести две ячейки, хотя теоретически таких изменений может быть и 3) .  

    В принципе можно изменить структуру таблицы. 3 столбца: Деталь-Время-Число.

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 08:57 07-08-2006
    ifaust

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спсб за ссылочку. в англоязычных материалах ещё не рылся.
     

    Цитата:
    HTML конвертеров уже куча написано. Причем код обычно открыт и модифицировать его не так сложно.  
    Пример: http://www.mvps.org/dmcritchie/excel/xl2html.htm

     
    Вот интересная и простая идейка нашлась:
    A simple .BAT file to copy 3 files into one output.  
         c:
         cd c:\temp\billsweb
         copy part1.html +passlist.html +part3.html  composite.html
     
    внутри ВБА кода прописать:
      'push.bat  merges 3 files:  part1.html +passlist.html +part2.html into Composite.html
      Shell "c:\temp\billsweb\push.bat"
     
    Есть ли возможность сделать ещё проще и запустить слияние 3-х файлов прямо из Эксэля, не запуская батовский файл?
     
     
    Добавлено:
    как прописать такое условие:
    если в ячейки цифровые, процентные данные
    и если выше нуля, то цвет в HTML збрасывается зелёный,
    а если меньше нуля, то красный
     
    возможно получится использование примера ниже по аналогии:
     
          If cell.Font.Bold Then
             strCellText = "<b>" & strCellText & "</b>"
          End If
     
    Добавлено:
    или как извлечь цвет шрифта ячейки и окрасить им соответствующую яцейку в HTML файле.

    Всего записей: 16 | Зарегистр. 08-04-2006 | Отправлено: 12:54 07-08-2006
    Yuk



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

    Цитата:
    Есть ли возможность сделать ещё проще и запустить слияние 3-х файлов прямо из Эксэля, не запуская батовский файл?

    Можно в Shell прописать непосредственно команду copy, с полными путями, естественно. Именя файлов можно подставлять через переменные. Например,
    Код:
    Shell "copy " & path1 & file1 & "+" & path2 & ...

    Или как здесь.
     

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

    Так можно покрасить ячейки в зависимости от значения.  

    Код:
    Sub test()
    For Each c In Selection
    If IsNumeric(c.Value) And Not IsEmpty(c) Then
        If c.Value < 0 Then
            c.Interior.Color = RGB(0, 255, 0) ' в зеленый
        ElseIf c.Value > 0 Then
            c.Interior.Color = RGB(255, 0, 0) ' в красный
        End If
    End If
    Next
    End Sub

    Соответственно определить текущий цвет ячейки можно из свойства .Interior.Color
    Возвращается значение в десятичной форме, в шестнадцатиричную можно перевести функцией Hex(). Например,
    Код:
    MsgBox "0x" & Hex(Selection.Interior.Color)

     
    Имей в виду, в экселе ограниченное цисло цветов (всего 56). RGB значения округляются.
     

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 20:24 07-08-2006
    SERGE_BLIZNUK

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    вопрос задал в Excel FAQ (часть 2) - [29]
    поэтому здесь его переформулирую ;-))))

     
    есть большой XLS файл (более 80 колонок и 15 тыс.записей) в котором не работает фильтрация данных.
     
    подскажите, плиз, можно ли написать такой макрос,
    чтобы в Excel были видны (и доступны для изменения) только записи (строки) отвечающие определённому условию?...

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 13:45 08-08-2006
    ifaust

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот собрал такой код:
    1. В ячейке B35 нужно указать путь к выходному файлу
    2. Выделеть облась экспорта
    Но в итогу цвет и жирность экспортированны не будут   Why?
    через Shell надо как-то вызвать командную строку и отправить туда команду слияния.
     
     
    Подробнее...

    Всего записей: 16 | Зарегистр. 08-04-2006 | Отправлено: 13:45 08-08-2006 | Исправлено: ifaust, 10:07 09-08-2006
    alin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Скинул пример с описанием.
    _http://rapidshare.de/files/28647483/R_List.rar.html (22Kb)
    Пароль: ru-board

    Всего записей: 683 | Зарегистр. 05-08-2004 | Отправлено: 19:19 08-08-2006
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alin
    Написал 2 пользовательские функции для расчета, сколько поступило (DetailsIn) и сколько отгрузили (DetailsOut).  
    Код
    Сделай новый модуль и вставь этот код туда.
    В таблице 1 для 0:00-8:00 пишешь =DetailsIn(B2:J2), и т.д.
    В таблице 2 то же, но =DetailsOut(B2:J2) и т.д.
     
    Что должны делать твои кнопки я не понял.
     
     
    Добавлено:
    SERGE_BLIZNUK
    Используй AdvancedFilter.
    Поищи в Excel FAQ топике по слову Filter. Я там постил код несколько раз.
     
     
    Добавлено:
    ifaust
    Во-первых, для длинного кода используй тег more (см. мой предыдущий пост - редактировать).
     

    Цитата:
    ' Чтение текста в ячейке
          strCellText = cell.Text

    Вот здесь ты теряешь цвет и жирность.
     

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 23:17 08-08-2006
    SERGE_BLIZNUK

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

    Цитата:
    Используй AdvancedFilter


    Цитата:
     читай хелп про расширенный фильтр.  

     
    спасибо за ответ! я уже понял, что расширенный фильтр и есть решение моей проблемы!

    Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 00:12 09-08-2006
       

    Страницы: 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