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

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

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

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 14:33 04-05-2007
    The okk



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pila007
    В общем, там алгоритм другой в любом случае. Если делать, как ты хотел, то с Redim надо повременить - сперва неплохо бы прикинуть, сколько элементов будет в массиве (можно, конечно, в цикле делать ReDim Preserve, но уж как-то это слишком топорно). Т.е. через сколько элементов сумма будет > M. Делается без цикла в два-три действия. Сейчас соображаю туго - пятница, - поэтому точный способ сказать не могу, но задача в целом схожа с разложением десятичного числа по степеням двойки, то бишь перевод в двоичную систему.  
    И уже Только после этого надо делать ReDim и цикл For. А у тебя сейчас цикл в цикле для каждого элемента.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 14:50 04-05-2007 | Исправлено: The okk, 14:54 04-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pila007
    И Google им поможет. Сумма членов арифметической прогрессии
    Sn = (0.5 * D * (N - 1) + A1) * N, переходя к твоему условию, осталось найти N из неравенства:
    (0.5 * D * (N - 1) + A1) * N > M, где N > 0

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 15:14 04-05-2007
    pila007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AndVGri
    извени что недогоняю, в программирование я тока новичок
    а можешь по подробнее объяснить?  
     

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 15:44 04-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pila007
    Подставляя в формулу A1 (первое нечётное 1) и шаг по нечётным числам D = 2, получим
    N^2 > M, или N > Корень(M). Поскольку, N (число нечётных чисел в массиве, удовлетворяющее условию, целое), то число нечётных чисел сумма которых станет больше M
    N = Целое(Корень(M)) + 1. Собственно то, о чём писал The okk

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 15:57 04-05-2007
    GFSGF

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо всем кто помог мне в решении предыдущих проблем
     Помогите ещё. Для вас я думаю что это всё очень просто, для меня пока не очень,
    Приходиться постигать всё на ходу.
    Задача такая:
    Есть форма.на форме расположено 9 переключателей (optionButton)
    Каждые три преключателя расположены во фреймах,т.е.три фрейма в каждом по три переключателя.Задача этих преключателей  записывать в ячейку числа 1,2 и 3.,т.е.
    Нажимаем optionButton1записываем в ячейку A1 «1»,нажимаем optionButton2записываем в ячейкуA1 «2» ну и соответственно optionButton3 записываемВ А1 «3»
    Это на первом фрейме.На втором и на третьем фрейме тоже самое, только цифры 1,2 и 3 записываются соответственно в ячейку A2 и A3.Прописываю в каждом переключателе на
    Событии «Клик» такой код : Range ("A1").Value = "1"во втором Range ("A1").Value = "2"
    В третьем Range ("A1").Value = "3" ну и т.д.на других фреймах.Загружаю форму .Сначала вроде всё устанавливается , а потом вдруг всё начинает зависать.Наверное что-то не так у меня. Это первое.Второе мне нужно, чтобы при открытии формы все установки переключателей сохранялись в таком положении в котором я их установил.Стал использовать код при закрытии формы UserForm1.Hide.Вроде всё остаётся ,но если загрузить форму и нажать X(закрытие)формы то все установки соответственно пропадают.
    Наверное нужно что-то прописать в событии формы «Activate» я так мыслю.Например
    If Range("A1").Value = "1" Then
       UserForm1.OptionButton1.Value = True
    Но мне кажется что это всё как то примитивно,да и слишком будет много прописывать, как то тут наверное всё можно записать более солидно.Вообщем помогите новичку.
     
     

    Всего записей: 29 | Зарегистр. 03-05-2007 | Отправлено: 22:06 04-05-2007
    AndVGri

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

    Цитата:
    Сначала вроде всё устанавливается , а потом вдруг всё начинает зависать.Наверное что-то не так у меня

    Если не хочешь получить ответ - измени где-то тут, то выложи пример кода или файл.  

    Цитата:
    стал использовать код при закрытии формы UserForm1.Hide.

    Это где, в Excel? Такого события там нет. Если это в VB, то ты перепутал раздел, да и в этом случае обработчик события UserForm1_Hide. В Excel UserForm1.Hide - команда форме на её скрытие. На "крестик" же обработчик UserForm_Terminate

    Цитата:
    Но мне кажется что это всё как то примитивно

    Ничуть
    Как вариант

    Код:
     
    Select Case Range("A1").Value
        Case 1: OptionButton1.Value = True
        Case 2: OptionButton2.Value = True
        Case 3: OptionButton3.Value = True
        Case Else
            MsgBox "Где-то ошибка, однако"
    End Select
     

    Для пустого листа или новой книги можно воспользоваться сохранением состояния объектов формы в реестр, командами
    SaveSetting - для сохранения состояния объектов формы в реестр

    Код:
     
    SaveSetting "UserForm1", "ControlValues", "OptionButton1', CStr(OptionButton1.Value)
     

    GetSetting - для получения записей состояния из реестра

    Код:
     
    OptionButton1.Value = CBool(GetSetting("UserForm1", "ControlValues", "OptionButton1", "False"))
     

    Или, как вариант, сохранять/читать в некоторый файл настроек

    Цитата:
    да и слишком будет много прописывать

    Тогда стоит ли заниматься программированием?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 04:57 05-05-2007 | Исправлено: AndVGri, 05:53 05-05-2007
    Firstik

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет! подскажите как в excel сделать следующее: есть информация представленная в виде 50.00 р, 100.00 р....мне нужно чтобы эта инфо преобразовалась в денежную формат (50,00 р, 100,00 р). все перепробывал....помогите пожалуйста!?!?

    Всего записей: 2 | Зарегистр. 05-05-2007 | Отправлено: 14:25 05-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Firstik
    Поиск и замена точки на запятую. Затем устанавливаешь формат для получившихся чисел в денежный
    Вопрос для Excel FAQ

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 15:08 05-05-2007
    Firstik

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

    Всего записей: 2 | Зарегистр. 05-05-2007 | Отправлено: 16:17 05-05-2007
    GFSGF

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

    Цитата:
    Это где, в Excel? Такого события там нет. Если это в VB, то ты перепутал раздел, да и в этом случае обработчик события UserForm1_Hide. В Excel UserForm1.Hide - команда форме на её скрытие. На "крестик" же обработчик UserForm_Terminate  

     
     Я просто не так выразился ....я и имел ввиду UserForm1.Hide ,как команду на скрытие,т.е.я присвоил эту команду кнопке на форме.  

    Цитата:
    Если не хочешь получить ответ - измени где-то тут, то выложи пример кода или файл.  

     так я же и написал
    Цитата:
    Прописываю в каждом переключателе на  
    Событии «Клик» такой код : Range ("A1").Value = "1"во втором Range ("A1").Value = "2"  
    В третьем Range ("A1").Value = "3" ну и т.д.на других фреймах

    Загружаю форму щёлкаю преключатели .несколько раз пощёлкаю и всё зависает.
    Цитата:
    Тогда стоит ли заниматься программированием?
    Я специалист в области автоматизации,пишу программы для контроллеров .т.е.для машины и роботов.У меня просто данные с одной автоматической линии поступают в эксел. поэтому мне нужно сделать небольшой интерфейс для пользователя(пару форм, да пару кнопок).ну я взял книгу быстро по ней пробежался и потом решил лучше спросить.Кстати за советы большое спасибо.
     
     
    Добавлено:
    AndVGri
     
      Ещё один вопрос.Как запретить пользователю добавлять панели инструментов?
      Помоги если не трудно
     нашёл вот такой код  CommandBars("Toolbar List").Enabled = False
     но он запрещает только контекстное меню ,но на панели имеется скажем так треугольничек,который открывает меню добавления . Нельзя его как-то запретить или убрать.

    Всего записей: 29 | Зарегистр. 03-05-2007 | Отправлено: 20:51 05-05-2007
    AndVGri

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

    Цитата:
    Как запретить пользователю добавлять панели инструментов?  

    Где-то так, хотя не совсем корректно
    Подробнее...
     
    Добавлено:
    GFSGF

    Цитата:
    как команду на скрытие

    А зачем её скрывать? Ведь потом нужно будет снова восстанавливать. Для выгрузки же в коде кнопки Unload Me и метод обрабатывающий это событие UserForm_Terminate

    Цитата:
    ну и т.д.на других фреймах

    Так вот и не понятно, в остальных фреймах ячейке А1 присваиваются значения 4..9? Тогда логично было бы в остальных фреймах OptionButtonX.Value устанавливать в False. Автоматом это происходит только в родительском фрейме. Если у тебя есть метод для выполнения этого сброса, то возможно в нём ошибка, надо смотреть. А так у меня этот вариант работает без проблем.

    Цитата:
    У меня просто данные с одной автоматической линии поступают в эксел

    Может в процессе поступления данных и работы формы и возникает зависание? А не имеет ли смысл уйти от работы с Excel и написать отдельную программу работы с автолинией?
     
     
     
    Добавлено:
    GFSGF

    Цитата:
    Нельзя его как-то запретить или убрать

    Не совсем убрать, но запретить добавление на существующие панели (правда, если пользователь создал свою панель, то это не поможет). Более простой вариант к тому, что предлагал выше
    Защита от изменений

    Код:
     
    Public Sub ShieldPanels()
        On Error Resume Next
        Dim pBar As CommandBar
        For Each pBar In Application.CommandBars
            pBar.Protection = msoBarNoCustomize
        Next pBar
    End Sub
     

    И обратно

    Код:
     
    Public Sub UnShieldPanels()
        On Error Resume Next
        Dim pBar As CommandBar
        For Each pBar In Application.CommandBars
            pBar.Protection = msoBarNoProtection
        Next pBar
    End Sub
     

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 05:11 06-05-2007 | Исправлено: AndVGri, 06:25 06-05-2007
    GFSGF

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

    Цитата:
    Так вот и не понятно, в остальных фреймах ячейке А1 присваиваются значения 4..9?

     Для второго фрейма: также устанавливаю цифры 1,2,3 но только в ячейку A2
     Для третьего фрейма:также устанавливаю цифры 1,2,3 но только в ячейку A3
     Я так и писал

    Цитата:
    Это на первом фрейме.На втором и на третьем фрейме тоже самое, только цифры 1,2 и 3 записываются соответственно в ячейку A2 и A3
     
    Задача пользователя открыть форму ,выбрать в каждом фрейме переключатель и закрыть форму.

    Цитата:
    Может в процессе поступления данных и работы формы и возникает зависание? А не имеет ли смысл уйти от работы с Excel и написать отдельную программу работы с автолинией?  

    Зависание происходит на моём компе дома.Он ни кчему не подключен.Я просто пока делаю программу для пользователя. Проблема где-то у меня лично.У меня был прописан код на защиту листа
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoSelection на событие  Workbook_Open()
    вот я его убрал и пока не зависает.Может что-то было с этим связано?
    Использую пока все твои замечания и советы.
    Насчёт запрета панелей сейчас попробую. Вообще интересная штука VBA,я к ней что-то раньше серьёзно не относился
     

    Всего записей: 29 | Зарегистр. 03-05-2007 | Отправлено: 14:01 06-05-2007
    AndVGri

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

    Цитата:
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoSelection на событие  Workbook_Open()  

    Ну, вот, а писал, что всё упомянул о своём коде. Насколько я понял, это будет постоянная рабочая книга с защищаемым листом.
    Тогда зачем же так? Выделяешь ячейки А1:А3, нажимаешь правую клавишу, в контекстном меню выбираешь "Формат ячейки", вкладка "Защита", сбрасываешь флажок "Защищаемая ячейка". Далее, в меню  Сервис/Защита/Защитить лист.. - выбираешь нужные параметры (те, что у тебя записаны в макросе) задаёшь пароль и всё. Ячейки А1:А3 будут доступны программно и не нужно будет каждый раз устанавливать защиту - лишнее.
    По идее, Excel должен был сразу у тебя ругаться на попытку изменить защищённые ячейки.
    Если не секрет - зачем так ограничивать пользователей аж до не возможности настроить Excel под себя?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 15:08 06-05-2007
    prosims

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Люди, ламерский вопрос, не корите, только учусь, подскажите, что нужно добавить, чтобы этот макрос работал не на весь лист, а обраватывал только конкретный диапазон строк например с 25-й по 64ю.
     
    i = 4
    Sum = 0
    Do While Cells(i, 2) <> ""
    razn = 192 - Sum
    If Cells(i, 3) < razn Then
        Sum = Sum + Cells(i, 3)
    ElseIf Cells(i, 3) > razn Then
        Rows(i + 1).Select
        Selection.Insert Shift:=xlDown
        Selection.Insert Shift:=xlDown
        Cells(i + 2, 1) = Cells(i, 1)
        Cells(i + 2, 2) = Cells(i, 2)
        Cells(i + 2, 3) = Cells(i, 3) - razn
        Cells(i, 3) = razn
        i = i + 1
        Sum = 0
    ElseIf Cells(i, 3) = razn Then
        Rows(i + 1).Select
        Selection.Insert Shift:=xlDown
        i = i + 1
        Sum = 0
    End If
        i = i + 1
    Loop

    Всего записей: 3 | Зарегистр. 26-04-2007 | Отправлено: 23:52 06-05-2007
    AndVGri

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    prosims
    С 25 понятно i = 25 в место i = 4. А вот с 64. Это какая строка? Считая с исходного состояния? Или пока i = 64, учитывая то, что у тебя производится вставка строк?

    Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 01:47 07-05-2007
    pila007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а как можно решить эту задачку:  
    Ввести массив A(N).Задать число L.Вывести на печать исходный массив, значения первого элемента массива больше L, число элементов массива больших L  
     
    Sub four()  
        ReDim a(6)  
            For i = 1 To 6  
                   Next i  
    L=10  
     
    End Sub  
    а что дальше? cells(1,1) прибавить какое-то число и a(i)=a(i)+1? и эти значения вывести на экран?

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 10:44 07-05-2007
    pila007

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    допустим у нас есть
    a(0)=2
    a(1)=3
    a(2)=4
    a(3)=5
    a(4)=6
    a(5)=7
    а L=3
    первый элемент больше 3 это a(2), а как тока этот один элемент вывести на печать?
    вот что я набросал:
    Sub four()
    ReDim a(6)
    i = 0
    L = 3
    For i = 1 To 6
    Next i
    If a(i) > L Then i = i + 1
    .........
    MsgBox ("Таких чисел " & i & " это число " &...)
    End If
    End Sub
     
     
    Добавлено:
    тока там  
    i = 1

    Всего записей: 24 | Зарегистр. 24-04-2007 | Отправлено: 17:51 07-05-2007
    GFSGF

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

    Цитата:
    Насколько я понял, это будет постоянная рабочая книга с защищаемым листом.  

     
     Да ты правильно понял.
    Цитата:
    Если не секрет - зачем так ограничивать пользователей аж до не возможности настроить Excel под себя?

    Потому что в эксел пойдут данные о работе оператора линии за его смену,т.е.сколько продукции он выпустил.от этого будет зависеть его заработная плата,поэтому я хочу максимально защитить лист и убрать все панели инструментов и меню добавления,чтобы он не мог изменить эти данные.Кстати коды по панелям я проверил .всё прекрасно работает,проблема с разблокировкой такая же как у тебя было написано,но это не страшно.
    Цитата:
    По идее, Excel должен был сразу у тебя ругаться на попытку изменить защищённые ячейки.  

    он и ругался сначала,а потом  я сделал так.что когда загружал форму.то блокировку снимал,а кргда закрывал она снова устаналивалась.
     

    Цитата:
    Тогда зачем же так? Выделяешь ячейки А1:А3, нажимаешь правую клавишу, в контекстном меню выбираешь "Формат ячейки", вкладка "Защита", сбрасываешь флажок "Защищаемая ячейка". Далее, в меню  Сервис/Защита/Защитить лист.. - выбираешь нужные параметры (те, что у тебя записаны в макросе) задаёшь пароль и всё. Ячейки А1:А3 будут доступны программно и не нужно будет каждый раз устанавливать защиту - лишнее.  
    ты прав я что-то об этом сначала не подумал.сейчас пожалуй переделаю

    Всего записей: 29 | Зарегистр. 03-05-2007 | Отправлено: 21:19 07-05-2007
    Zeerax

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!! есть вопросик:
    нужен код на кнопку чтобы при нажатии выделялся диапазон ячеек от курсора
    вниз на 10 строк но не полных а например на 20 столбцов
    Заранее спасибо

    Всего записей: 1 | Зарегистр. 07-05-2007 | Отправлено: 23:46 07-05-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