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

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

    Графоман
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zerguei
    1. функция ВПР, вопрос в том как она будет работать с двумя файлами... Вероятно
    придется сначала загрузить табличку в одну книгу.  
    2. макросом.

    ----------
    на свете счастья нет, но есть попкорн и сникерс.

    Всего записей: 652 | Зарегистр. 01-11-2002 | Отправлено: 15:13 01-02-2005 | Исправлено: xcm, 15:16 01-02-2005
    Zerguei



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

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 16:04 01-02-2005
    xcm

    Графоман
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как она называется в англ. версии к сожалению не знаю но в мастере функций она идет в разделе Ссылки и Массивы.
    Ищет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца таблицы. Функция ВПР используется вместо функции ГПР, когда сравниваемые значения расположены в столбце слева от искомых данных.
     
    Буква «В» в имени функции ВПР означает «вертикальный».
     
    Синтаксис
    ВПР(искомое_значение;таблица ;номер_столбца ;интервальный_просмотр)
     


    ----------
    на свете счастья нет, но есть попкорн и сникерс.

    Всего записей: 652 | Зарегистр. 01-11-2002 | Отправлено: 17:14 01-02-2005
    Zerguei



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    xcm
    Насколько я понимаю, в англоязычной версии это находится в разделе Lookup & Reference и называется VLOOKUP, но дело в том, что задав значение для поиска, таблицу, номер столбца и диапазон поиска по непонятному мне алгоритму оно находит строку, которая находится где-то посередине таблицы..
     
    Разбираемся дальше, но за наводку спасибо!

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 18:10 01-02-2005 | Исправлено: Zerguei, 18:11 01-02-2005
    Alexdon

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

    Цитата:
    по непонятному мне алгоритму оно находит строку, которая находится где-то посередине таблицы..  

     
    Параметр "интервальный_просмотр" должен быть False либо исходная таблица с параметрами должна быть отсортирована по возрастанию.

    Всего записей: 89 | Зарегистр. 23-09-2002 | Отправлено: 18:25 01-02-2005
    Zerguei



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Alexdon
    ЕСТЬ! ЗАРАБОТАЛО! СПАСИБО!

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 19:08 01-02-2005
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Zerguei
    All, кому интересно
    В стандартной поставке Экселя при установке по умолчанию есть такой файлик:

    Цитата:
    c:\Program Files\Microsoft Office\Office10\1049\FUNCS.XLS

    Это хелп по всем функциям, причем названия даны и русские, и английские. Это особо полезно, когда в макросах используешь функции рабочего листа (типа with WorkSheetFunction ...). Как я уже выше писал, функции рабочего листа в VBE работают заметно быстрее, чем функции языка. Я это почувствовал при работе с большими массивами на слабой машине.
     
    Кстати, в ВПР (VLOOKUP) последний параметр может быть и FALSE, и 0. А я еще часто использую конструкцию ИНДЕКС(... ПОИСКПОЗ ... ), это позволяет искать в случае, когда возвращаемое значение находится СЛЕВА от диапазона просмотра. Пример для массива из двух столбцов:

    Код:
    =ИНДЕКС(A:B;ПОИСКПОЗ(C1;B:B;0);1)

    Здесь С1 - критерий поиска, В:В - диапазон поиска по критерию, А:В - диапазон с данными (в некоторых случаях можно тупо указывать столбец с возвращаемыми значениями -А:А).

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



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Geezer S
    Спасибо, очень интересено и подробно описал все, но дело в том, что у меня файла с описанием функций нет, как, впрочем нет и папки 1049, а есть только папка 1033, но в ней тоже нет ничего похожего.  
    Не уверен, но думаю, что это из-за того, что у меня английская версия Офиса ХР с 3 сервис паком.

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 10:09 02-02-2005
    bredonosec



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

    Цитата:
    В стандартной поставке Экселя при установке по умолчанию есть такой файлик:  
     
    Цитата:c:\Program Files\Microsoft Office\Office10\1049\FUNCS.XLS  
    В более ранних версиях - напр, офисе 97 путь такой:
    Код:
    c:\Program Files\Microsoft Office\Office\FUNCS.XLS

    А вообще - спасибо за подсказку! Кста, хоть откуда-то ссылки на этот файл идут? Из помощи, из меню?  
     
     
    Добавлено:
    Zerguei

    Цитата:
    но дело в том, что у меня файла с описанием функций нет, как, впрочем нет и папки 1049
    - Жмакни поиск файла. Если даже на таком старье, как моё, он нашелся, то точно будет!  

    Всего записей: 16257 | Зарегистр. 13-02-2003 | Отправлено: 10:16 02-02-2005
    Zerguei



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bredonosec
    Жмакнул, ниче нет -))))
    Мож он другое название имеет какое, на досуге ручками поищу..

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 10:56 02-02-2005
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bredonosec
    Никаких ссылок на него не видел, нашел случайно - поиском в папке MicroSoft Office по маске *.xl* - искал файлы настроек и надстроек.
    Zerguei
    Sorry, забыл упомянуть, что путь к файлу зависит от версии офиса. bredonosec совершенно прав, надо просто поискать в папке офиса по имени файла или по расширению (*.xls). У меня тоже английская версия XP с  SP3, но еще и с русским интерфейсом.

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 11:48 02-02-2005
    bredonosec



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

    Цитата:
    Жмакнул, ниче нет -))))  
    Честно говоря. странно.. Может, конечно, и по-другому.
     Вот, мой возьми, на случай если не найдешь.  
    http://s26.yousendit.com/d.aspx?id=0B8HS7VXYM18W3D9YYOFIL1PX5  
    )
     
     
    Добавлено:
    Geezer S

    Цитата:
    поиском в папке MicroSoft Office по маске *.xl* - искал файлы настроек и надстроек
    Еще что-нить интересное не попадалось? ))

    Всего записей: 16257 | Зарегистр. 13-02-2003 | Отправлено: 11:52 02-02-2005
    Geezer S



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Zerguei
    Или здесь: http://www.geezer-s.pisem.net/samples/funcs.zip
     
    bredonosec

    Цитата:
    Честно говоря. странно.. Может, конечно, и по-другому.  

    Да нет, не странно: все дело в локализации - та самая папка 1049...
     

    Цитата:
    Еще что-нить интересное не попадалось? ))  

    Честно говоря, я плотно с Экселем не работаю уже больше 2 лет, так что все и не упомню. А вот по части книг - есть такой Джон Уокенбах, 2 его книги (они переведены) - "Библия пользователя Эксель" и "Программирование в VB для Эксель" (названия примерные) - это вещь! По первой я научился практически всему, что сейчас знаю, а вот вторую так и не купил (денег не было) - но отзывы о ней - весьма. Ну, есть еще англоязычный ресурс: http://www.mrexcel.com - там особенно интересно на форуме (Message Board) . Вот пока и все.

    Всего записей: 220 | Зарегистр. 08-12-2001 | Отправлено: 12:05 02-02-2005 | Исправлено: Geezer S, 12:14 02-02-2005
    GregoryPek



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

    Цитата:
     есть такой Джон Уокенбах, 2 его книги (они переведены) - "Библия пользователя Эксель" и "Программирование в VB для Эксель"

    Попытался найти элетронный вариант этих книг или подобных, не смог.

    Всего записей: 402 | Зарегистр. 31-10-2004 | Отправлено: 21:25 02-02-2005
    Zerguei



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

    Всего записей: 640 | Зарегистр. 07-05-2003 | Отправлено: 11:12 03-02-2005 | Исправлено: Zerguei, 11:14 03-02-2005
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NecroHill
    ответ на пост
    http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=4495&start=740#9
     
    Давай мыло, вышлю экселевский файл с этим макросом

    Код:
    Sub table()
    ' Определимся с Листами
      Set WS1 = Worksheets("Лист1")
      Set WS2 = Worksheets("Лист2")
       
    ' Первая и последняя строчки в первой таблице
      StartRow1 = 1
      EndRow1 = 9
       
    ' Первый и последний столбец с данными первой таблицы
      FirstCol1 = 4
      LastCol1 = 6
       
    ' Первая и последняя строчки во второй таблице
      StartRow2 = 11
      EndRow2 = 19
       
    ' Первый и последний столбец с данными второй таблицы
      FirstCol2 = 4
      LastCol2 = 6
     
    '--------------
      Dim ColNum1(), ColNum2() As Integer
      Dim ColNumSize1, ColNumSize2 As Integer
    ' номер последнего текущего столбца в третьей таблице
      CLastCol = 1
       
      ReDim ColNum1(LastCol1)
      ReDim ColNum2(LastCol2)
     
    ' 0. Очищаем лист2
        WS2.Cells.ClearContents
        WS2.Cells(1, 1) = "CLOCK#"
       
    ' 1. Добавляем необходимые столбцы в третью таблицу
    ' Цикл по столбцам первой таблицы
      For j = FirstCol1 To LastCol1
        stroka = WS1.Cells(StartRow1, j)
        Set C = WS2.Rows(1).Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)
    ' Если столбец с таким номером не существует, то добавляем его
        If C Is Nothing Then
          CLastCol = CLastCol + 1
          WS2.Cells(1, CLastCol) = stroka
           
          ColNum1(j) = CLastCol
        Else
          ColNum1(j) = C.Column
        End If
      Next j
     
    ' Цикл по столбцам второй таблицы
      For j = FirstCol2 To LastCol2
        stroka = WS1.Cells(StartRow2, j)
        Set C = WS2.Rows(1).Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)
    ' Если столбец с таким номером не существует, то добавляем его
        If C Is Nothing Then
          CLastCol = CLastCol + 1
          WS2.Cells(1, CLastCol) = stroka
           
          ColNum2(j) = CLastCol
        Else
          ColNum2(j) = C.Column
        End If
      Next j
       
    CLastRow = 1
    ' 2. Добавляем строчки в третью таблицу
    ' Цикл по строчкам первой таблицы
      For i = StartRow1 + 1 To EndRow1
        stroka = WS1.Cells(i, 2)
        Set C = WS2.Columns(1).Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)
    ' Если строки с таким номером еще нет, то создаем ее
        If C Is Nothing Then
          CLastRow = CLastRow + 1
          WS2.Cells(CLastRow, 1) = stroka
          CR = CLastRow
        Else
          CR = C.Row
        End If
    ' CR - номер текущей строки
     
        For j = FirstCol1 To LastCol1
          WS2.Cells(CR, ColNum1(j)) = WS2.Cells(CR, ColNum1(j)) + WS1.Cells(i, j)
        Next j
      Next i
     
    ' Цикл по строчкам второй таблицы
      For i = StartRow2 + 1 To EndRow2
        stroka = WS1.Cells(i, 2)
        Set C = WS2.Columns(1).Find(stroka, LookIn:=xlValues, LookAt:=xlWhole)
    ' Если строки с таким номером еще нет, то создаем ее
        If C Is Nothing Then
          CLastRow = CLastRow + 1
          WS2.Cells(CLastRow, 1) = stroka
          CR = CLastRow
        Else
          CR = C.Row
        End If
    ' CR - номер текущей строки
     
        For j = FirstCol2 To LastCol2
          WS2.Cells(CR, ColNum2(j)) = WS2.Cells(CR, ColNum2(j)) + WS1.Cells(i, j)
        Next j
      Next i
     
    End Sub
     


    ----------
    Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 13:03 03-02-2005
    antonm80

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите пожалста, как сделать так, чтобы в каждой ячейке столбца я мог выбирать значение этой ячейки из выпадающего списка...  у меня несколько вариантов заполнения этой ячейки, а вручную все время писать нереально...
     
    СПАСИБО!!!

    Всего записей: 127 | Зарегистр. 14-09-2002 | Отправлено: 14:01 03-02-2005
    xcm

    Графоман
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    antonm80
    иди на 36 стр топика ,там я уже получил ответ на этот вопрос. Респект Mady


    ----------
    на свете счастья нет, но есть попкорн и сникерс.

    Всего записей: 652 | Зарегистр. 01-11-2002 | Отправлено: 14:11 03-02-2005
    antonm80

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    КЛАСС!!!!  ОХХХромное спасибо!!!!! просто счастье!

    Всего записей: 127 | Зарегистр. 14-09-2002 | Отправлено: 14:37 03-02-2005
    NecroHill



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tropin
    волшебник!
    респект и спасибо за потраченное время!
     
    буду разбирараться с макросами. вроде все просто. когда разжуют на примере )
     
    еще раз спасибо!
    мыло в ПМ

    Всего записей: 803 | Зарегистр. 23-12-2001 | Отправлено: 21:31 03-02-2005
       

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