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

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

Модерирует : gyra, Maz

Widok (09-03-2010 13:14): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

Просьба к посетителям топика дополнять шапку наиболее часто задаваемыми вопросами со ссылками на ответы
в обязательном порядке

 
  • Смена представления имен столбцов с буквенного на цифровое и обратно


    Сумма прописью
  • Надстройка "PROP" (сумма прописью)
  • надстройка Excellerator (c) Michael Zemlanukha & Maxim Shemanarev
  • макрос Num2String


  • Список соответствия имен функций в английской и русской версиях Excel
  • Описание Microsoft Excel File Format (eng.)
  • Горячие клавиши в Excel (табличка)
     
    Предыдущие ветки топика: Часть 1 | Часть 2 | Часть 3
     
    Все вопросы по программированию (макросы, скрипты, пользовательские функции и т.п.) обсуждаются в теме Excel VBA в разделе Прикладное программирование.
     
    При необходимости выложить скриншот, пользуйтесь сервисом ImageShack® (ограничение на размер файла <1.5 Mb)
     
    Книга Джон Уокенбах "Подробное руководство по созданию формул в Microsoft Office Excel 2002" PDF 34МБ Файлы к книге

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:12 29-08-2008 | Исправлено: Maz, 22:45 24-02-2017
    q1wed



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

    Цитата:
    Вы что-то путаете...  
    чувствую себя идиотом, но теперь действительно не получается и в 2007, но я так делал, точно! - как? - хз......
    по поводу формулы на выходе будет текст, а не дата и там вариант скопировать- вставить значения срабатывает безоговорочно, проверил три раза.

    Всего записей: 208 | Зарегистр. 02-03-2007 | Отправлено: 17:56 10-10-2008
    art0123



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    q1wed Вы меня не совсем поняли... Попробуйте скопировать, что у вас получилось и вставить в любую ячейку... Результат "формула" но в тексте. Дата будет совсем иной, так как данные формула будет брать уже с другой ячейки.
     
     
    Добавлено:
    Я же предложил:
    1. Скопировать зачение ячейки.
    2. Изменить формат этой же ячейки на текстовый.
    3. Вставить в эту же ячейку.
     Блин, готовый макрос получился...

    Всего записей: 1300 | Зарегистр. 12-03-2008 | Отправлено: 18:11 10-10-2008
    Bambara



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
            Во время работы над рабочим проектом столкнулся с одним из недостатков Excel. ИМХО программа для обработки информации (текстовой, числовой, графической и т.д.) должна удовлетворять ряду условий, а именно:
            1. Размер файла программы- минимально возможный для решения поставленных задач
            2. Структура системы обработки информации- простая.  
            3. Базовому объекту в программе соответствует базовый графический объект (здесь: порядковая операция в блок -схеме --- ячейка с данными)
            4. Визуальное отображение информации и собственно информация - равнозначные, не связанные категории
             Теперь о реализации. Поскольку файл программы имеет определенные ограничения по размеру, в Excel изменили приоритет (см.п.4) в пользу информации, ведь в большинстве задач визуальное отображение играет второстепенную роль.
    В качестве частичного решения используется условное форматирование - ограниченное как по количеству условий (3), так и по логике- формат для одной ячейки-ИМХО является базовым и для остальных обведенных ячеек( абсолютная ссылка). Если нет- может быть кто-то подскажит как сделать ссылки в условии при копировании формата относительными.  
             Для 2 условий- информации и отображения информации- две команды.
    Возможный формат команд, пример: =ЕСЛИ( A21<В$3;A21;"")#ЕСЛИ( A21<В$15;"фиолетовый";по умолчанию).
             Команда для информации и команда для отображения разделяются знаком#. В данном случае информация о цвете ячейки не связана с информацией (это условие дополнительное), но может быть и наоборот.
             По умолчанию, которое можно задать, как в файле конфигурации через true и false, так и в настройках программы команда отображения отсутствует.
             Необходимое условие этой реализации- увеличение постоянной и оперативной памяти Excel не менее,чем в 2 раза, что на данном этапе проблематично.  
     
    Добавлено:
          Необходимое условие этой реализации- увеличение постоянной и оперативной памяти Excel не менее,чем в 2 раза, что на данном этапе проблематично.  
          Имеется в виду увеличение быстродействия за счет оптимизации самой программы и компа.

    Всего записей: 14 | Зарегистр. 13-06-2008 | Отправлено: 00:04 11-10-2008
    Ogeris



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    q1wed
    1. думаю для случая когда цена берется в зависимости от объема можно использовать формулу БДСУММ  
     
    Не получается

    Всего записей: 19 | Зарегистр. 03-03-2006 | Отправлено: 10:00 11-10-2008 | Исправлено: Ogeris, 10:02 11-10-2008
    mistx

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    q1wed
    art0123
    спасибо. Хотелось бы конечно обрабатывать массивы, так как копировать каждую ячейку муторно
    Попробывал создать макрос, что-то не выходит
    http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=8273&start=2620#lt

    Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 11:47 11-10-2008
    art0123



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mistx  Попробуй мой вариант макроса, должно получится!

    Всего записей: 1300 | Зарегистр. 12-03-2008 | Отправлено: 16:27 11-10-2008
    mistx

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    art0123
    А где твой вариант?
    если ты про действия описанные тобой выше,
    то здесь мне как раз и не понЯтно как применить действия к диапазону

    Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 22:08 11-10-2008
    q1wed



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mistx вариант с формулой не подойдет? то есть сначала формулой переводим даты в текст. а потом через скопировать - специальная вставка вставляем уже текстовые даты без формул.  
     
     
    Добавлено:
    таким образом можно за минуту обработать огромный список дат:  
    1. вписываем формулу - растягиваем её
    2. выделяем диапазон с формулами - копируем
    3. на первой ячейке "таргетного" диапазона делаем вставку значений.
     
    все.

    Всего записей: 208 | Зарегистр. 02-03-2007 | Отправлено: 07:26 12-10-2008
    mistx

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

    Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 11:03 12-10-2008
    art0123



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

    Цитата:
    art0123
    А где твой вариант?
    если ты про действия описанные тобой выше,
    то здесь мне как раз и не понЯтно как применить действия к диапазону
     

    mistx Вот попробуй...

    Код:
     
        Range("B7").Select
        ActiveCell.FormulaR1C1 = "9/5/2008"
        Range("B7").Select
        Selection.NumberFormat = "@"
        ActiveSheet.Paste
     

    Всего записей: 1300 | Зарегистр. 12-03-2008 | Отправлено: 20:18 12-10-2008
    ShinePhantom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Не подскажете, как задать единый уровень безопасности макросов для всех пользователей компьютера? Т.е. имеется терминальный сервер с 1С, которая подгружает файлик Excel с макросом. Но у некоторых пользователейуровень безопасности стоит максимальный. Объяснять каждому как исправлять  - долго и бесполезно.
    Как можно автоматом задать?

    Всего записей: 49 | Зарегистр. 24-04-2006 | Отправлено: 15:21 13-10-2008
    q1wed



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ShinePhantom
    Ну я бы поступил следующим образом: скачал бы прогу RegMon (и на всякий случай FileMon) подглядел бы где хранятся настройки безопасности макросов - на 97% уверен что в реестре, а дальше делаем рег. файл и делаем рассылку среди пользователей с просьбой запустить файл. Либо добавляем запись в реестр на компах пользователей с помощью одной из прог удаленного администрирования. Воть.
     
    Добавлено:

    Цитата:
    mistx Вот попробуй...  

    Бррр..... попробуй лучше это:

    Код:
    Sub date_to_text()
    Dim i, j As Integer, t As String
    For i = 1 To 22
    For j = 1 To 7
    t = Cells(i, j).Value
    Cells(i, j).NumberFormat = "@"
    Cells(i, j).Value = t
    Next
    Next
    End Sub

    Этот код все сделает как надо в диапазоне A1:G22 (зависит от i и j)

    Всего записей: 208 | Зарегистр. 02-03-2007 | Отправлено: 16:17 13-10-2008
    mistx

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

    Цитата:
    Бррр..... попробуй лучше это

     
    БОЛЬШУЩЕЕ спасибо!!!

    Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 20:32 13-10-2008
    q1wed



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ogeris решил первую часть твоей задачи - выбор цены в зависимости от вида товара и привезённого количества:
       
    Вкратце: в зависимости от количества ищет нужный вариант, затем нужный товар, и выводит значение, которое находится на пересечении вида товара и выбранного варианта.
     
    Остальное сделаю как появится время, хотя там все просто - должен сам вобщем то сообразить.
     
    Вопрос для Гуру: очень долго думал над реализацией, пересмотрел множество вариантов - в итоге пришел к этому. Как можно было проще поступить??
     
    Добавлено:
    Эх, что-то не спится не фига. Добил задачу до конца забирай полностью готовый файл. Ну в целом долго объяснять как оно работает основная мысль изложена на рисунке - остальное лишь технические мелочи. Столбец L с листа Отчет можно удалить - он там ни к чему, оставил для наглядности. Столбцы J и K на том же листе используются для условного форматирования - которое окрашивает цену в таблице если дата из B1 не входит в период действия цен. Лист условия существенно переработан и приведён в строгий порядок, изменять его структуру категорически не рекомендуется. Из всех твоих хотелок не удовлетворил лишь одну - там где  цену надо выбирать еще дополнительно с учетом даты - это в голове то не особо укладывается не говоря уж про Эксель. Хотя.....

    Всего записей: 208 | Зарегистр. 02-03-2007 | Отправлено: 21:11 13-10-2008 | Исправлено: q1wed, 00:37 14-10-2008
    SandmanBrest



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброй ночи!
    Есть вопрос, уже с ума схожу. Есть два столбца в одном Фамилии людей во втором - табельные номера. Как сделать выпадающий список, чтобы при выборе фамилии в списке, в ячейку попадал номер. При этом фамилии быть НЕ ДОЛЖНО.
    Помогите, пожалуйста!

    Всего записей: 167 | Зарегистр. 31-10-2004 | Отправлено: 01:36 14-10-2008
    q1wed



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SandmanBrest
    1. Выпадающий список в ячейке
    2. Использование функции ВПР (VLOOKUP) для подстановки значений
     
    Добавлено:
    если хочешь чтобы таб№ появлялся в ячейке вместо фамилии - это только макросами

    Код:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
    Dim i As Integer
    For i = 5 To 10
    If Cells(i, 2).Value = Range("A1").Value Then Range("A1").Value = Cells(i, 1)
    Next
    End If
    Application.EnableEvents = True
    End Sub

    где в А1 выпадающий список с фамилиями, в А5:А10 таб номера, в B5:B10 соотвтетствующие этим номерам фамилии

    Всего записей: 208 | Зарегистр. 02-03-2007 | Отправлено: 06:40 14-10-2008 | Исправлено: q1wed, 07:13 14-10-2008
    SandmanBrest



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

    Цитата:
     это только макросами  

    Благодарю! Это то, что нужно.

    Всего записей: 167 | Зарегистр. 31-10-2004 | Отправлено: 09:32 14-10-2008
    harit



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MSOffice2003SP2 (Vista). Excel. Проблема интерактивного поиска
     
    У клиента стоит виста - переставить очень проблемно (работник СБ - шарахается от флешки). Имеем проблему:
     
    Происходят странные вещи. Захожу в поиск, нажимаю параметры, выбираю искать во всей книге, всё остальное по умолчанию задаю строку поиска - нажимаю Найти всё.  
     
    Каждый день она находит разный комплект ссылок - листов много 15-20, в кажом листе от 15 до 5тыс строк.  
    В одном случае (фамилия1) находит точно, в другом (фамилия2) начинает терять половину ссылок на ячейки. После закрытия и открытия файла проблема может остаться, а может быть в точности наоборот (фамилия2 - найдена, фамилия1 - частично).
    Еще удивительнее увидеть сообщение "типа Ничего не найдено" на поиск точно заранее известной строки, гарантированно существующей в книге.  
     
    Понятно, что можно всё вылечить написав базу данных и прочея, но может кто знает как исправить данную проблемку малой кровью.  
     
    Да чуть не забыл: имеются записи (фамилии) на английском, русском и украинском языке.
     
    Спасибо всем.

    Всего записей: 227 | Зарегистр. 05-11-2007 | Отправлено: 14:44 14-10-2008
    jocer

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

    Всего записей: 21 | Зарегистр. 13-08-2008 | Отправлено: 18:01 15-10-2008
    AmberB

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста с одним заданием.. в общем, нужно сделать следующее: при вводе в определенную ячейку адреса другой ячейки с данными (наприммер А1) в другую определенную ячейку выводилось значение искомой ячейки (т.е. значение А1). Буду очень благодарна!

    Всего записей: 3 | Зарегистр. 02-04-2005 | Отправлено: 12:34 18-10-2008 | Исправлено: AmberB, 12:43 18-10-2008
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 4)
    Widok (09-03-2010 13:14): Лимит страниц. Продолжаем здесь.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru