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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 | Цитировать | Сообщить модератору
    kojev
    вот пример:
    данные типа
    / A B    
    1 Цена 1 100    
    2 Цена 2 20    
    ... ... ...    
    n Цена n 34


    Код:
    FirstLine = 1 'номер первой строки на каждой странице
    For Each CurrentPB In ActiveSheet.HPageBreaks 'цикл по всем пэйджбрякам
      ActiveSheet.Rows(CurrentPB.Location.Row - 1).Select
      Selection.Insert xlShiftDown 'Добавляем пустую строчку
      Selection.Cells(, 1).Value = "Сумма на странице:" 'в первой ячейке текст
      Selection.Cells(, 2).FormulaLocal = "=СУММ(B" + CStr(FirstLine) + _
        ":B" + CStr(Selection.Row - 1) + ")" 'тут сумма со страницы
      FirstLine = Selection.Row + 1 'первая строка для следующей страницы
    Next CurrentPB

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

    Цитата:
    предложения изучать другой язык в этой, конкретной, теме считаю некорректным

    И пусть простят нас модераторы за это, но я оспорю!
    Предложения звучать могут... (причины, думаю, ясны :) Вот обсуждения - конечно нет.
    Посему - умолкаю, далее только по теме...

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 15:26 15-06-2004
    xcm

    Графоман
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vserd
    Для этого тебе нужно будет объявить (описать) winAPI функцию Createprocess  (или найти где она описана), можешь также сделать через ShellExecute. в нее передаешь путь и имя батника для распаковки, ждешь пока она отработает, затем выполняешь преобразования в книге, и выполняешь батник для запаковки и отправки.  
    Пример описания WinApi функции я видел еще в 7-м офисе, пользовался в 97, так что в последующих тоже есть.  Ищи в MSDN и помощи.  
    ------------------------------
     
    Можно гораздо проще
     
    Sub execbat()
     
    Dim RetVal
    RetVal = Shell("C:\1.bat", 1)    ' Run bat file
     
    End Sub

    Всего записей: 652 | Зарегистр. 01-11-2002 | Отправлено: 09:41 16-06-2004
    Krechet



    Free diver
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Office XP, Windows 2000.
    Такая проблема - при открытии документа Excel(любого, из любого места) двойным кликом, вылетает ошибка - (не удается открыть файл "С:\qq.xls"(Или один из его компонентов) Проверьте правильность указания имени файла и пути. А также наличие всех необходимых библиотек.) Если открыть Еxcel - open и указать файл, то откроется нормально.
    Перестановка офиса с чисткой реестра и удалением всех компонентов офиса не помогли - теряюсь в догадках о том где еще искать...


    ----------
    Timeo danaos et dona ferentes
    Каждой твари - по витой паре

    Всего записей: 719 | Зарегистр. 07-01-2003 | Отправлено: 13:59 19-06-2004
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Krechet
    Возможно вирус или какая-то бяка которая все ж сидит в реестре, проверялся?

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 12:50 21-06-2004
    uzkhadmin



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Krechet
    Проверь каталог Startup в Office возможно или там или в путях прописано запускать
    Цитата:
    С:\qq.xls"(
    и он тупо ее ищет. И зайди в параметры Excel в закладку Общие посмотри чтобы в строке "Каталог автозагрузки" ничего не было. Если все чисто значит ищи в реестре. Вбей в параметры поиска qq.xls , и там где она ее найдет просто убей этот параметр.
     
    Добавлено
    Tropin

    Цитата:
    Возможно вирус или какая-то бяка  

    Это не вирус и не бяка. Просто возможно макрокоманда была вбита для открытия этого файла. Возможно этот файл отвечал за содержания каталога (типа путеводителя).

    ----------
    Программное обеспечение для автоматизации бизнеса, Foss-on-Line

    Всего записей: 464 | Зарегистр. 15-09-2003 | Отправлено: 13:12 21-06-2004 | Исправлено: uzkhadmin, 13:16 21-06-2004
    Magi

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо за предыдущие подсказки!
    Возник следующий вопрос.  
    Имеется колонка цифр, которые являются уникальными кодами, некоторым из ниъх соответствуют названия картинок.
    Нужно в следующей колонке ввести название картинки.
      A        B
    8801 image1.jpg
     
    Коду 8801 строго соответствует image1.jpg, но в разных загружаемых для обработки файлах он может находится в разных строках.  
     
    Сейчас я делаю так  
     
    Cells.Find(What:="8801", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        Range("B599").Select
        ActiveCell.FormulaR1C1 = "image1.jpg"
     
    Но в следующем файле код 8801 может быть уже не в B599, а, к примеру, в B495 и такой макрос не сработает.  
    Колонка, с кодом всегда - A, та куда нужно вводить название - всегда - B.
    Как сделать, чтобы он работал во всех случаях?
    Как вариант подошла бы команда сдвигающая курсор на одну клетку вправо. Есть ли такая?

    Всего записей: 620 | Зарегистр. 12-12-2001 | Отправлено: 02:13 23-06-2004
    Robert



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

    Цитата:
    команда сдвигающая курсор на одну клетку вправо


    Код:
    Selection.Offset(0, 1).Select

    Если есть строгое фиксированное соответствие между кодами и названиями картинок, то по-моему легче даже не используя программу создать на листе справочную сводную таблицу этого соответствия и во второй колонке выбирать имена из этой таблицы с помощью функции ПРОСМОТР.

    Всего записей: 285 | Зарегистр. 12-03-2003 | Отправлено: 05:35 23-06-2004
    Krechet



    Free diver
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Tropin
    Однозначно не вирус. - своему антивируснику я доверяю, Да и проверяю
     
    uzkhadmin
    С:\qq.xls - это файл, который я хочу открыть - я на нем и делаю двойной клик.
     
    Нашел описание проблемы с рецептом от микрософта http://support.microsoft.com/default.aspx?scid=kb;ru;323216 Только вот их решение не прокатывает...


    ----------
    Timeo danaos et dona ferentes
    Каждой твари - по витой паре

    Всего записей: 719 | Зарегистр. 07-01-2003 | Отправлено: 09:02 23-06-2004
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Krechet
    а эту смотрел? http://support.microsoft.com/default.aspx?scid=kb;RU;207574
    может дело в том как операционка передает путь к файлу, а не в экселе
    Рекомендую, посмотреть соответствия для файлов *.xls на другом компе и соорудить по образу и подобию...

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 11:19 23-06-2004
    Grenky



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попалась такая задача:
     
    Шир/Долг 60 65 70 75 80 85 90    
    40 1007,2 1005,7 1004,9 1004,1 1002,5 1001,8 1001,6    
    35 1003,3 1001,2 998,2 997,3 998,3 999,5 1000,7    
    30 999 997,2 995,1 995,1 996,5 998,4 1000,4    
    25 998,2 997,8 997,8 998 996,8 997,1 999,9    
    20 1000,4 1001,6 1002,3 1001,3 999,8 1000,4 1002,5

    В массиве ищится МИНИМУМ - пишем результат в одну ячейку, и берем Шир и Долг - тоже ложем в свои ячейки. Примерно должно получится так:
     
    Значение Шир Долг    
    995,1 30 75

     
    голова уже дымит.
    прозьба - ПОМОЖИТЕ

    Всего записей: 57 | Зарегистр. 06-05-2004 | Отправлено: 11:28 24-06-2004 | Исправлено: Grenky, 11:46 24-06-2004
    Tropin



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Grenky
    Коли голова дымит, то можно так

    Код:
    Sub proga()
      CurrentRow = 2
      CurrentCol = 2
      CurrentMin = Cells(CurrentRow, CurrentCol)
      For i = 2 To 6 ' по строчкам
        For j = 2 To 8 ' по столбцам
          If Cells(i, j) < CurrentMin Then
            CurrentRow = i
            CurrentCol = j
            CurrentMin = Cells(CurrentRow, CurrentCol)
          End If
        Next j
      Next i
       
      Cells(10, 1) = "Значение"
      Cells(10, 2) = "Шир"
      Cells(10, 3) = "Долг"
      Cells(11, 1) = CurrentMin
      Cells(11, 2) = Cells(CurrentRow, 1)
      Cells(11, 3) = Cells(1, CurrentCol)
    End Sub

    Правда кривовато :)...
    Мне кажется, что для задач по экселю надо новый отдельный топик заводить...
     
    Добавлено
    тока он а ответ даст: Шир 30, Долг 70
    а если нужно 30 и 75 соответственно делаешь цикл наоборот (или "<" заменяешь на "<=", хотя это не совсем правильно, впрочем про красоту кода в задаче не спрашивалось :)...

    Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 12:50 24-06-2004
    Alexdon

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Grenky
    наименьшее значение функция =НАИМЕНЬШИЙ(C3:I7;1), где С3:I7 массив чисел
    для нахождения широты и долготы - один из вариантов:
     

    Цитата:
    Function ShirDolg(Nmin As Long, Mas As Range, WarDolg As Boolean)
     'три параметра - Nmin - минимальное значение массива(ссылка на ячейку с формулой)
     'Mas - сам массив - первые стоки и столбцы - значение широты и долготы
     'WarDolg - логическое да/нет значение на выходе - широта либо долгота
      MaxRow = Mas.Rows.Count
      MaxCol = Mas.Columns.Count
      For i = 2 To MaxRow
        For j = 2 To MaxCol
          If Mas.Cells(i, j) = Nmin Then
              If WarDolg Then ShirDolg = Mas.Cells(i, 1).Value Else ShirDolg = Mas.Cells(1, j).Value
             
              Exit Function
           End If
        Next j
      Next i
     
    ShirDolgErr:
        ShirDolg = "Ошибка"
    End Function
     

    Вставка = функция = определенные пользователем = вставляем нашу функцию =ShirDolg( определяем три параметра) - получаем на выходе результат

    Всего записей: 89 | Зарегистр. 23-09-2002 | Отправлено: 14:58 24-06-2004 | Исправлено: Alexdon, 18:02 25-06-2004
    hesper



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Озаботитлась вопросом защиты содержимого (формул и vba-проекта) xls от любопытных глаз и умелых ручек. Очевидное решение - пароли. но они легко вскрываются _программами жлдя забывчивых юзеров_. Слышала краем уха, что в 2000 оффисе можно выбрать алгоритм шифрования RC4, который ломается с бОльшими проблемами, чем стандартный майкросовтовсикй. Но вот беда - я никак не могу найти, где производится выбор метода шифрования. Вроде бы стоит офис-2000 и я создаю там файл, и сохраяню с паролями - достаточно сложными! Но на вскрытие такого пароля уходят считанные секунды...
     
    Хелп ми плиз, лбъясните популярно эту шнягу с RC4, он в офисе по умолчанию или выбирается, если выбирается - где. И почему файл в формате 2000 екселя так легко ломается?! %)

    Всего записей: 15 | Зарегистр. 19-05-2003 | Отправлено: 21:18 24-06-2004
    Krechet



    Free diver
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Все ОК. Все получилось.
    Снес офис. Прорыл весь реестр на предмет поиска офисных ключиков - убил все что можно. Вновь поставил офис - наконец-то заработало...

    ----------
    Timeo danaos et dona ferentes
    Каждой твари - по витой паре

    Всего записей: 719 | Зарегистр. 07-01-2003 | Отправлено: 08:19 25-06-2004
    Alexdon

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

    Цитата:
    где производится выбор метода шифрования

    Файл => сохранить как => Сервис =>Общие параметры => Дополнительно...(рядом с "Пароль для открытия")

    Всего записей: 89 | Зарегистр. 23-09-2002 | Отправлено: 09:24 25-06-2004
    hesper



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alexdon
    Спасибо большое за ответ, но у меня нет этой кнопки! в том-то и дело, что во всех мануалах указано именно там. Но у меня это выглядит так:
       
     
    Может дело в версии excel? или в установленном-неустрановленном сервис-паке... Я ставила голый офис и не ставила никаких заплат-сервис-паков и прочего. Версия офис - 2000 проф...

    Всего записей: 15 | Зарегистр. 19-05-2003 | Отправлено: 13:41 25-06-2004 | Исправлено: hesper, 13:44 25-06-2004
    Alexdon

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

    Цитата:
    Может дело в версии excel? или в установленном-неустрановленном сервис-паке... Я ставила голый офис и не ставила никаких заплат-сервис-паков и прочего. Версия офис - 2000 проф...

    Да сорри - конечно дело в версии - выбор алгоритма шифрования только с Excel 2002.
     

    Всего записей: 89 | Зарегистр. 23-09-2002 | Отправлено: 14:24 25-06-2004 | Исправлено: Alexdon, 14:46 25-06-2004
    Magi

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Еще один вопрос. В столбце нужно заменить X10 на № 10
    Х - в данном случае русская буква, а 10 может менятся, как угодно, но всегда остается числом. В общем нужно заменить Х на №, но т.к. Х встречается и в словах, то простой заменой тут не обойдешься. Можно ли как-то решить такую проблему?
    Заранее благодарен.

    Всего записей: 620 | Зарегистр. 12-12-2001 | Отправлено: 17:15 25-06-2004
    bredonosec



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А если в поле замены ввести Х#, где # - подстановочный знак для цифры в разделе "специальные" диалога "замена"?

    ----------
    Вопрос: 'Что человек курит?' как правило возникает не когда ты слышишь, как он дышит, а когда видишь, что он пишет
    Пропеллер играет роль вентилятора, он останавливается -пилот потеет
    Аськи нету.

    Всего записей: 16257 | Зарегистр. 13-02-2003 | Отправлено: 17:23 25-06-2004
    hesper



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

    Цитата:
    Да сорри - конечно дело в версии - выбор алгоритма шифрования только с Excel 2002.

    А шифрование паролей через RC4 - тоже только с ексель 2002 или все же в 2000 это реализовано?

    Всего записей: 15 | Зарегистр. 19-05-2003 | Отправлено: 19:25 25-06-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