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

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

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

Widok (17-05-2007 19:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

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

 
  • Смена представления имен столбцов с буквенного на цифровое и обратно
  • Надстройки "Сумма прописью"
  • Список соответствия имен функций в английской и русской версиях Excel
  • Описание Microsoft Excel File Format
     
     
    Предыдущие ветки топика: Часть 1 |
     
    Все вопросы по программированию (макросы, скрипты, пользовательские функции и т.п.) обсуждаются в теме Excel VBA в разделе Прикладное программирование.
     
    При необходимости выложить скриншот пользуйтесь сервисом ImageShack® (ограничение на размер файла <1.5 Mb)

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 15:32 01-04-2006 | Исправлено: Maz, 22:45 24-02-2017
    Yuk



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DonkeyHottt
    Вообще-то про макросы в топике по VBA спрашивают. Ну. да ладно.
    В макросе все гораздо проще. Например, так.

    Код:
    Sub test2()
    For Each c In Range("A1:A30")
        ActiveCell.Value = ActiveCell.Value & " " & c.Value
    Next
    End Sub
    Пробегаемся по ячейкам и добавляем их к содержанию активной ячейки.

    Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 06:31 02-03-2007
    SERGE_BLIZNUK

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые господа Yuk, ZORRO2005, Mushroomer, The okk - в очередной раз обсуждение в данном топике плавно перетекает в обуждение VBA (Excel VBA) - может разрешим (в правилах) и здесь небольшие примеры использования макросов? а то мой пост уже вроде как и оффтопик...


     
    Angelo
    Цитата:
     можно пожалуйста пальцем тыкнуть, где этот модуль листа находится...?  
    Alt-F11 (или Сервис / Макросы / Редактор VisualBasic )
    слева будет Project Explorer (если нет - включить его через Ctrl-R) - двойной  щёлчок на нужном листе и в открывшемся окне вставить код.
     
    DonkeyHottt
    Цитата:
    Очень интересный способ! Спасибо! Запомнил.  
    Как бы это макросом описать?  
    зачем этот способ описывать макросом, когда Вы можете в макросе сделать то же самое без всех этих хлопот! Например, для выделенных ячеек (причём не обязательно в столбце - любых выделенных):

    Код:
     
    Sub SelectionCellsToCell()
    ResultStr = ""
    For Each c In Selection
      Cur_Cell_Type = TypeName(c.Value)
      If Cur_Cell_Type <> "Empty" Then
        ResultStr = ResultStr & c.Value & " "
      End If
    Next
    Cells(1, 2).Value = ResultStr ' запишем результат в ячейку B1
    End Sub
     

     

    Цитата:
    чтобы она записывалась в эти ячейки всех открытых книг
    Вот пример перебора всех открытых книг...

    Код:
     
     For Each w In Workbooks
       MsgBox "Open workbook name: " & w.Name
     Next
     
    А что значит - в эти ячейки??? В какие? в каждой книге может быть много листов? Вы точно ничего не путаете? Лист и книгу, например?
     
    VOVFVV
    Цитата:
    спасиб. что ж придется на макросе остановиться. 2 и 3 к сожалению не подходят.
    если остановитесь на макросе, тогда можно  легко (и имхо, нужно) вообще отказаться от формулы - нужно - пишите значение в вашу ячейку - если условие не выполняется - стираете.
     
    p.s. ZORRO2005 — а Вы просто красавчик! Супер! Наслаждаюсь Вашими ответами!
     

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



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Angelo
    Сервис - Макрос - Редактор Visual Basic (или просто Alt + F11)
    Откроется редактор. Слева будет окошко, где будет список всех листов книги. Кликаешь дважды по тому листу, для которого ты хочешь сделать такую фишку.
    Открывается модуль этого листа. Вот в него и вставляешь.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 06:50 02-03-2007
    Diver_Hawk

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Сорри ежели вопрос уже обсуждался (сотню страниц лопатить немного напряжно), но вот такой вопрос знатокам:
    Как в экселе 2к3 сохранить настройки формата ячейки (стиля) по умолчанию ?
    Скажем открываю я эксель, по умолчанию в формате ячейки (настройках основного стиля) в выравнивании перенос по словам не стоит. Меняю (там или там). Выхожу не сохраняя файл. При следующем заходе переноса о5 нет. А надо чтоб был...
    Это только у меня приглючило, или это фишка самого экселя ?

    Всего записей: 26 | Зарегистр. 11-12-2002 | Отправлено: 07:19 02-03-2007
    The okk



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

    Цитата:
    Меняю (там или там). Выхожу не сохраняя файл. При следующем заходе переноса о5 нет.

    Не понял... Если ты закрываешь файл без сохранения изменений, почему ты ожидаешь, что эти изменения останутся?

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 08:41 02-03-2007
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Diver_Hawk
    Складывается такое ощущение, что это работает по другому. Из справки:
    Команда "Стиль" (меню "Формат"): Задание или применения к выделенному тексту сочетания параметров форматирования, называемого стилем. Далее "Выберите стиль в поле Имя стиля, чтобы применить стиль к выделенной ячейке или диапазону или изменить его". Т.е. максимум на что действует измененный стиль - это на открытую книгу
     
    Добавлено:
    The okk
    Diver_Hawk как я понял хочет, чтобы изменения стиля рапространилось на другие (хотя бы новые) файлы. Ну по аналогии с normal.dot для Word.

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 08:45 02-03-2007 | Исправлено: Mushroomer, 08:49 02-03-2007
    Diver_Hawk

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

    Цитата:
    чтобы изменения стиля рапространилось на другие (хотя бы новые) файлы

    Так точно.
    Юзер создаёт много новых файлов "с нуля". Неудобно каждый раз настраивать формат заново. В ворде-то файл-параметры страницы-по умолчанию. В экселе такая возможность есть?
    Поиски по и-нэту дали выход на файл:
    C:\Documents and Settings\User\Application Data\Microsoft\Excel\Excel11.xlb
    Отвечает как раз за настройки. Якобы при выходе из экселя в нём  
    сохраняются все текущие настройки. Только что-то такого не происходит...

    Всего записей: 26 | Зарегистр. 11-12-2002 | Отправлено: 10:01 02-03-2007
    Angelo



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    The okk, SERGE_BLIZNUK
    Спасибо, нашел, вставил, сохранил - заработало.
     
    The okk, есть нюанс.
    Происходит выделение строки, и невозможно сделать поиск далее по таблице...
    Он начинает искать именно в этой выбранной строке.
     
    Суть идеи такова.
    У меня есть прайс лист, где в колонка А - код товара, и в колонке, скажем, G  - цена.
    Хотелось бы делать поиск по коду, чтобы сразу выделялась строка с этим кодом (при нахождении). В обычном режиме просто бесит крутить глазами слева направо (от кода к цене), по 17-дюймовому монитору. Колонки посередине убирать не хочу, так как они тоже имеют значение.
    При этом коде функция поиска (Ctrl+F) перестает работать.
    Или может в экселе есть галочка, которую надо снять/поставить - типа делать поиск независимо от выделенного контента (по всему листу)?


    ----------
    In Trance We Trust...

    Всего записей: 486 | Зарегистр. 09-01-2002 | Отправлено: 10:11 02-03-2007
    The okk



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

    Цитата:
    Excel11.xlb  

    Книгу-шаблон положи в папку: C:\Program Files\Microsoft Office\Office10\XLStart
    Каждая новая книга будет создаваться с этими настройками.

    Всего записей: 327 | Зарегистр. 16-11-2006 | Отправлено: 12:23 02-03-2007
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как перевести время час мин (12:30) в часы (12,5) Я попытался сделать формулой
    =СУММ(ПРОИЗВЕД(МИНУТЫ(F3);0,01666666);ЧАС(F3))
     
    Но когда стал пользоваться результатом для расчета скорости (те расстояние делить на полученное время, стали возникать косяки... Делит неправильно...
    пример: 240км/4,13=58,06 (а должно получится 58,11)

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 19:41 02-03-2007
    DonkeyHottt

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Yuk
    Спасибо! Я видимо не достаточно полно сформулировал вопрос. Данные не всегда в этих ячейках, но всегда в одном столбце. Мне бы их выделить сначала, а потом применить макрос.
    SERGE_BLIZNUK

    Цитата:
    - любых выделенных

    Супер! Большое спасибо! Это то, что нужно!

    Цитата:
    А что значит - в эти ячейки??? В какие? в каждой книге может быть много листов? Вы точно ничего не путаете? Лист и книгу, например?

    Есть макрос, хранящийся в "Личной книге макросов" При его выполнении в ячейки одного первого листа книги (книги и листы не путаю) (например A1 F3 H8 записываются данные, например x y z ) А мне нужно, чтобы все повторилось также во всех открытых книгах- в те же ячейки - те же данные.

    Всего записей: 104 | Зарегистр. 26-12-2004 | Отправлено: 21:32 02-03-2007
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CEMEH
    Цитата:
    Как перевести время час мин (12:30) в часы (12,5)
    А причем тут произведение? надо просто сложить. Т.е. =ЧАС(A2)+МИНУТЫ(A2)/60

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 21:32 02-03-2007 | Исправлено: Mushroomer, 21:34 02-03-2007
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mushroomer
    Все равно косяк...
    Суть задачи:
    Известно время отправления, время прибытия. Их набиваем.
    Программа вычитает из прибытия отправление и получаем время в пути.
    Набиваем расстояние. Программа делит расстояние на время в пути и получаем сред скорость.
    Элементарная задача над которой ломаю голову второй день....
    пример :  
    отправление 16:25
    прибытие 20:33
    время в пути =А2-А1 получаем 4:08 (ячейка А3)
    А4=ЧАС(A3)+МИНУТЫ(A3)/60 (получаем 4,13)
     
    затем пишем в А5 длину участка 240
     
    средняя скорость А6=А5/А4 (получается 58,06 а должно получиться 58,11 пробовал калькулятором)

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 23:12 02-03-2007
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CEMEH
    А погрешность (округление) кто за тебя учитывать будет? 8/60 это не 0,13. А 0,1(3), т.е 0,13333333...
    А теперь раздели:
    240 на 4,13 = 58,1113801452785
    240 на 4,1(3) = 58,0645161290322

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 23:39 02-03-2007
    ZORRO2005



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Mushroomer
    Или пусть умножит
    58,06452*4,1333333=240,000
    58,11*4,1333333=даже проверять не надо

    Всего записей: 342 | Зарегистр. 08-10-2005 | Отправлено: 00:06 03-03-2007
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ZORRO2005
    (проверяю в том же листе)
    А1=240
    А2=4,13
    А3=А1/А2 получаем 58,11
     
    А4=58,06452*4,1333333 (240,00001)
     
    58,11*4,1333333=240,1879981
    Как можно получить разлиные результаты при одинаковых арифм. действиях - х/з
    Где искать то эту погрешность?  Не думал, что екселем так накосячить можно...  Вот наверное им нам и считают зарплату (2*2= сколько надо столько и будет.)

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 00:31 03-03-2007
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CEMEH
    Объясняю в последний раз. Важно понимать разницу между тем, что отображается на экране и тем что находится в самой ячейке. Введи в пустую ячейку 0,1452 .
    В формате ячейки укажи 1 знак после запятой. На экране увидишь 0,1
    В формате ячейки укажи 2 знака после запятой. На экране увидишь 0,15
    В формате ячейки укажи 3 знака после запятой. На экране увидишь 0,145
    Но само число в ячейке всегда оставалось 0,1452. Просто менялась форма его отображения на экране. Уловил идею?

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 00:57 03-03-2007 | Исправлено: Mushroomer, 00:59 03-03-2007
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mushroomer
    Идею уловил, еще вчера поставил во всех ячейках по пять цифр после запятой, результат - без изменений.... Где же собака зарыта?

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 10:32 03-03-2007
    Mushroomer



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    CEMEH
    Выложи пример, я постаряюсь понять где твоя собака зарыта.

    Всего записей: 22840 | Зарегистр. 19-01-2002 | Отправлено: 11:08 03-03-2007
    CEMEH



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mushroomer
    http://dnv52.narod.ru/a.xls
     
    см только рыжие ячейки...

    Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 11:23 03-03-2007 | Исправлено: CEMEH, 11:28 03-03-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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (часть 2)
    Widok (17-05-2007 19:48): лимит страниц. продолжаем здесь


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru