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

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

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

Widok (01-04-2006 15:33): лимит страниц. переезжаем сюда.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ymy



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

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

 
  • Смена представления имен столбцов с буквенного на цифровое и обратно
  • Надстройки "Сумма прописью"
     
    Тема Excel VBA в разделе Прикладное программирование
     
     


    Вот такой вопрос у меня, помогите хто может: Как в Exсel-e ограничить число строк и колонок отображаемых на листе, точно можно, сам видел, но как?, в непонятках.

  • Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 17:00 17-09-2002 | Исправлено: Maz, 22:44 24-02-2017
    Tropin



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

    Код:
    Sub ChangeDate()
      Dim S As String
       
      For Each R In UsedRange.Rows
        S = R.Cells(, 1) ' цифра 1 указывает столбец с исходной датой  
        If Len(S) < 6 Then S = Mid(S, 1, 1) + "/" + Mid(S, 2, 2) + "/" + Mid(S, 4, 2) _
        Else S = Mid(S, 1, 2) + "/" + Mid(S, 3, 2) + "/" + Mid(S, 5, 2)
        R.Cells(, 1) = CDate(S) ' цифра 1 указывает столбец с получаемой датой
     
      Next R
    End Sub

    правда несколько корявый, но работает! Думаю и для твоих условий подойдет...
    рекомендую правда сделать копию документа (мало-ли что :)...

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 09:58 08-09-2004
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Busyatka
    Если формат ячеек с исходными числами - "Общий", а сами они лежат в столбце А, то вводим в первую ячейку свободного столбца (изменив формат этого столбца на "Дата", ДД.ММ.ГГ") нечто вроде:
     
    =ДАТАЗНАЧ(ПСТР(ТЕКСТ(A1;"000000");1;2)&"."&ПСТР(ТЕКСТ(A1;"000000");3;2)&"."&ПСТР(ТЕКСТ(A1;"000000");5;2))
     
    Ну, и протягиваем вниз, скока надо...

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 11:40 08-09-2004
    Reagent



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Busyatka
    Можно и без макроса, примерно вот так.  
    Допустим в ячейке А4 у тебя число 100904
    Рисуеш в любую ячейку:
    =СЦЕПИТЬ(ПСТР(A4;1;2);".";ПСТР(A4;3;2);".";ПСТР(A4;5;2))
    и получаешь
    10.09.04
     
    kiloton
    значит это глюк книги, такое бывает иногда, насколько мне известно это не лечиться.

    ----------
    Главное чтобы квадратики были квадратные!!!

    Всего записей: 802 | Зарегистр. 29-04-2003 | Отправлено: 12:16 08-09-2004
    Looking



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Busyatka
    А эти данные, где неправильная дата в каком-то линейном блоке (части колонки или строки) или рассыпаны произвольно. А то вроде там тебе советуют макросы и т.д. именно для первого случая. Я тоже для случая линейного блока советовал. Там можно обойтись и без макроса. Просто создаешь одну формулу, а потом протяжкой ее копируешь
    Если же данные разбросаны произвольно, то там проблема как отличить правильные числа от неправильных дат.
    Ты наверное получаешь такой результат из другого пакета. Напиши подробнее, может тебе подскажут более удобный способ.
     
    Добавлено
    Reagent
    Ему (Busyatka) возможно надо не только изображение, но и правильный формат дат. В этом случае
    ДАТАЗНАЧ(ПСТР(A4;1;2)&"."&ПСТР(A4;3;2)&"."&ПСТР(A4;5;2))
    потом для ячеек результата установить формат "Дата" (если использовать & формула получается короче)

    Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 12:32 08-09-2004
    wizzi



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите плз, как разместить данные так, чтобы на графике (тип гистограмма) данные отображались в одном столбике? оси обычные х и у ... Накопительная и процентная  диаграмма не подходят

    Всего записей: 859 | Зарегистр. 03-07-2003 | Отправлено: 13:15 08-09-2004
    Reagent



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Looking
    согласен, если нужен правильный формат дат, то догда нужна формула Geezer Sра
    товоя работать не будет, моя естественно тоже


    ----------
    Главное чтобы квадратики были квадратные!!!

    Всего записей: 802 | Зарегистр. 29-04-2003 | Отправлено: 14:01 08-09-2004 | Исправлено: Reagent, 14:03 08-09-2004
    Busyatka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Looking
    я девАчка спасибо за помощь. Линейный блок получился. Это здорово.
    А вот разбросанный не понимаю...

    Всего записей: 64 | Зарегистр. 11-08-2004 | Отправлено: 15:10 08-09-2004
    Looking



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Busyatka
    Я имел в виду не блок, а если ячейки с датами разбросаны по таблице произвольным образом.
    Так откуда получаются эти неправильные даты?

    Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 17:21 08-09-2004
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Reagent
    А я непроверенные и неработающие формулы в посты не вставляю. Сначала проверил на тестовом массиве, потом запостил
    Кстати, моя формула работает и для первых 9 дней месяца, вида 10904.
    Busyatka
    Абсолютно прав Looking, если знать, откуда берутся данные, то можно что-нить придумать. В противном случае - искать закономерность расположения ячеек с датами и изобретать что-то по части адресации.

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 08:31 09-09-2004 | Исправлено: Geezer S, 08:32 09-09-2004
    Busyatka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Looking
    Да, спасибо, у меня все получилось и с формулой, когда можно копировать и с вариантом, когда разбросаны ячейки по таблице. Не сразу, но справилась. Спасибо огромное
     
    Осталось теперь научится использовать макрос, который здесь предложили и тогда ваще полный порядок
     
     
    Добавлено
    Geezer S
    Правильная формула и еще какая
    Только что значит откуда берутся данные? введены в обычную таблицу екселя где-то столбиком, а где то в отдельно стоящем варианте (разбросаны), но об этом я уже написала, что формулы работают и это здорово!

    Всего записей: 64 | Зарегистр. 11-08-2004 | Отправлено: 10:36 09-09-2004
    Looking



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

    Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 10:56 09-09-2004
    Busyatka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Looking
    Нет, там уже был прислан такой документ, где даты были вбиты шестизначными числами и формат у них был Общий. И то, что так вбивали (без точек) за это уже ЦУ получили

    Всего записей: 64 | Зарегистр. 11-08-2004 | Отправлено: 11:16 09-09-2004
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Geezer S
    Reagent
    Busyatka
    Я как раз акромя макросов ниче больше не умею :)
    Просто я думал, что даты нужно изменить, а не делать их копии формулами...
    Я люблю решать задачи в один проход...

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 12:15 09-09-2004 | Исправлено: Tropin, 12:17 09-09-2004
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tropin
    Ну да, если менять прямо в ячейке, то макрос - самое то.
    А вот если пользоваться самописными фукнциями, да если их на листе много, и еще комп не самый-самый (как большинство офисных тачек), то может начаться такая фигня - при автоматическом пересчете (после каждого ввода) все это начинает зверски тормозить.
    Я сначала обнаружил, что если в таком случае использовать в формулах не функции VBE, а функции рабочего листа, то скорость обработки существенно возрастает.
    Ну а когда базюка перевалила за 1000 записей (в каждой из которых по 30 полей, из них 20 - расчетные), я сдался и все оформил в виде макросов, а все данные, и исходные, и расчетные, хранил в виде значений, а не формул. Собственно, макросы и осуществляли пересчет при изменении данных и поступлении новых.
    Sorry(многословие).

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 12:32 09-09-2004 | Исправлено: Geezer S, 12:32 09-09-2004
    Busyatka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tropin
    А я как раз ничего в этом не смыслю (ну так разве что на пальцах
    А в ворде тоже макросы пишешь?
    У меня больше там еще вопросов возникает и порой немыслимые какие то задачи приходится решать с помощью ворда.

    Всего записей: 64 | Зарегистр. 11-08-2004 | Отправлено: 12:57 09-09-2004
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Geezer S
    Абсолютно согласен, хотя VBA - тот еще тормоз, но другого почти не дано и потому если писать красивый код, то 1000 записей не предел... Из личного: обрабатывал массив 30000 записей по 50 полей, надо было объединять оборудование по типам и распихивать в разные файлы порядка 2000 файлов... Правда макрос работал так минут 40, но все слепил без единой ошибочки...
     
    Busyatka
    Дык изучай :)
    Ну ворд - будет оффтопом, потому спрашивай здесь

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 14:18 09-09-2004
    Looking



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tropin
    Вообщето я не понимаю такой мазохизм, когда задачи, по своей природе предназначенные для СУБД и легко в них реализуемые закручивают через Excel и VB.
    А у Busyatka-ки данные могут располагаться произвольным образом и потому одним проходом, через макрос сделать нельзя, т.к. пользователю необходимо предварительно тыкать, куда его применить (если для ячеек с датами не был прямым образом установлен текстовый формат)

    Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 17:05 09-09-2004
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Looking
    Ну почему мазохизм? Многие попадают на ситуацию, когда надо срочно сделать, а спеца по СУБД нет и изучать нет времени. Кроме того, Эксель все же электронная таблица, и вычислительная часть даст 100 очков вперед любой СУБД; да и попроще он, по-понятнее  (ИМХО). При этом возможностей в нем достаточно, вплоть до работы с внешними БД (через ODBC), SQL-запросы (посредством Query) и многое другое.
    Что касается произвольного расположения данных - тут что-то вообще непонятно. Хоть в СУБД их, хоть в Эксель засовывай, все равно любая БД подразумевает упорядочивание, которое надо провести либо на стадии формирования массива, либо в текстовом виде, либо на стадии преобразования. Иначе какой смысл вообще этим заниматься - красиво распечатать, да? Дык в Ворде еще красивше можно сделать.
     
    Добавлено
    Ну вот, и в чине повысили...  

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 07:55 10-09-2004 | Исправлено: Geezer S, 07:57 10-09-2004
    Busyatka



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tropin  
    Geezer S
    Я буду стараться (изучать), только задача у меня на данный момент другая...я же не программист и использую Ексель только как практик-пользователь.  
    А вы мне здорово помогли

    Всего записей: 64 | Зарегистр. 11-08-2004 | Отправлено: 11:29 10-09-2004
    OlegA

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, помогите.
    Задача такая.  
    1. Имеем большую таблицу с несколькими столбцами и много строк со значениями.  
    2. Включаем автофильтр по какому небудь критерию - строк остаётся меньше.  
    Вопрос.  
    Как мне сделать, чтобы внизу таблицы показывало сумму отфильтрованных значений.  
    Я ставлю сумм и выделяю отфильтрованный диапазон, а он мне показывает сумму всей таблицы.  
    Заранее спасибо.  

    Всего записей: 3 | Зарегистр. 08-03-2004 | Отправлено: 18:38 10-09-2004
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Excel FAQ (Часть 1)
    Widok (01-04-2006 15:33): лимит страниц. переезжаем сюда.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru