Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ

Автор: Tropin
Дата сообщения: 24.06.2004 11:50
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
Автор: Alexdon
Дата сообщения: 24.06.2004 13:58
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( определяем три параметра) - получаем на выходе результат
Автор: hesper
Дата сообщения: 24.06.2004 20:18
Озаботитлась вопросом защиты содержимого (формул и vba-проекта) xls от любопытных глаз и умелых ручек. Очевидное решение - пароли. но они легко вскрываются _программами жлдя забывчивых юзеров_. Слышала краем уха, что в 2000 оффисе можно выбрать алгоритм шифрования RC4, который ломается с бОльшими проблемами, чем стандартный майкросовтовсикй. Но вот беда - я никак не могу найти, где производится выбор метода шифрования. Вроде бы стоит офис-2000 и я создаю там файл, и сохраяню с паролями - достаточно сложными! Но на вскрытие такого пароля уходят считанные секунды...

Хелп ми плиз, лбъясните популярно эту шнягу с RC4, он в офисе по умолчанию или выбирается, если выбирается - где. И почему файл в формате 2000 екселя так легко ломается?! %)
Автор: Krechet
Дата сообщения: 25.06.2004 07:19
Все ОК. Все получилось.
Снес офис. Прорыл весь реестр на предмет поиска офисных ключиков - убил все что можно. Вновь поставил офис - наконец-то заработало...
Автор: Alexdon
Дата сообщения: 25.06.2004 08:24
hesper

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

Файл => сохранить как => Сервис =>Общие параметры => Дополнительно...(рядом с "Пароль для открытия")
Автор: hesper
Дата сообщения: 25.06.2004 12:41
Alexdon
Спасибо большое за ответ, но у меня нет этой кнопки! в том-то и дело, что во всех мануалах указано именно там. Но у меня это выглядит так:


Может дело в версии excel? или в установленном-неустрановленном сервис-паке... Я ставила голый офис и не ставила никаких заплат-сервис-паков и прочего. Версия офис - 2000 проф...
Автор: Alexdon
Дата сообщения: 25.06.2004 13:24
hesper

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

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

Автор: Magi
Дата сообщения: 25.06.2004 16:15
Еще один вопрос. В столбце нужно заменить X10 на № 10
Х - в данном случае русская буква, а 10 может менятся, как угодно, но всегда остается числом. В общем нужно заменить Х на №, но т.к. Х встречается и в словах, то простой заменой тут не обойдешься. Можно ли как-то решить такую проблему?
Заранее благодарен.
Автор: bredonosec
Дата сообщения: 25.06.2004 16:23
А если в поле замены ввести Х#, где # - подстановочный знак для цифры в разделе "специальные" диалога "замена"?
Автор: hesper
Дата сообщения: 25.06.2004 18:25
Alexdon

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

А шифрование паролей через RC4 - тоже только с ексель 2002 или все же в 2000 это реализовано?
Автор: vserd
Дата сообщения: 26.06.2004 11:27
bredonosec

Цитата:
А если в поле замены ввести Х#, где # - подстановочный знак для цифры в разделе "специальные" диалога "замена"?

Это в каком Excel? в W2K нет такого.
Magi
Если Х10 это значение в ячейке, тогда поставь галку ячейка целиком и область просматиривать по столбцам.
Если же нет, тогда прийдется макрос, который буде брать значение ячейки и определять есть ли перед/после этого значения буква или цифра, и заменять если там пробел, симолы пунктуации, или необходимые тебе символы.

Автор: Robert
Дата сообщения: 26.06.2004 17:49
bredonosec

Это не в Excel, это в Word, в Excel нету раздела Специальные в диалоге Замена, а подстановочные знаки разрешаются только * и ?.

Magi

Макрос, о котором говорит vserd, если Х10 встречается в середине текста ячейки:

Код: Public Sub Macros()
Dim Cell As Range
Dim Pos As Long
Dim Strng As String
Dim Chr As String * 1
For Each Cell In Application.Selection
Strng = Cell.Value
Pos = InStr(Strng, "Х")
Chr = Mid(Strng, Pos + 1, 1)
If (Chr = "0") Or (Val(Chr) > 0) Then Mid(Strng, Pos) = "№"
Cell.Value = Strng
Next Cell
End Sub
Автор: Da_Neil
Дата сообщения: 27.06.2004 14:52
Господа коллекционеры! (и им сочувствующие)

Уже порядочное время передо мной стоял вопрос о синхронизации двух книг с музыкальными коллекциями с целью дальнейшего обмена; естественно, то, что у меня уже есть в лучшем качестве, автоматом вычёркивается из чужого каталога, если же в худшем качестве, то берётся на заметку.

Как этот вопрос решался раньше? Никак. Осмотр проводился вручную с помощью естественного интеллекта без признаков автоматизации, что порождало долгие копания в памяти своей и машинной "а есть ли у меня этот альбом/EP/LP/single/и проч.?". Эта рутина мне уже настолько надоела, что я решился на написание макроса. Вроде работает, но не очень торопливо, потому что сравнивает ячейки практически по принципу "каждая с каждой" (разумеется, не все ячейки, а только с информацией об исполнителе, релизе, битрейте) с небольшими оптимизациями.

Есть ли у кого-нибудь наработки в этой области, как то: алгоримты, макросы, готовые программы, констуктивные идеи и соображения, может быть, другие пути решения?
Автор: Looking
Дата сообщения: 28.06.2004 10:04
Da_Neil
Если не ограничиваться Excel, то быстрые алгоритмы обработки лучше организовывать в какой либо СУБД с использованием SQL-запросов
Автор: Magi
Дата сообщения: 28.06.2004 12:43
Спасибо огромное! Не знаю, чтобы я без этого топика делал
Еще один мелкий вопрос. есть конструкция

Selection.Replace What:="И/м", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Замена И/м на пустоту. А как сделать, чтобы И/м было регистрозависимым? А то сейчас заменяет и "и/м" - а это не нужно.
Автор: Da_Neil
Дата сообщения: 28.06.2004 14:12
Looking
К сожалению, не имею опыта работы с БД, да и необходимость вышеописанного происходит не чаще раза в месяц.

Magi
Твой вопрос уже содержит ответ:

Цитата:
MatchCase:=True

Автор: Tropin
Дата сообщения: 29.06.2004 09:17
Magi
MatchCase:=True
Автор: Magi
Дата сообщения: 29.06.2004 09:32
Спасибо! Тут стормозил
Автор: Tropin
Дата сообщения: 29.06.2004 12:59
народ а есть ли такая фича или это ошибка?

Код: =СУММ(A2:A31/B2:B31)
Автор: Alexdon
Дата сообщения: 29.06.2004 17:20
Tropin
похоже на формулу массива, только должно быть вот так:

Цитата:
{=СУММ(A2:A31/B2:B31)}

Если так - результат сумма А2/B2, A3/B3,...A31/B31.
Автор: Tropin
Дата сообщения: 30.06.2004 08:30
Alexdon
Точно, так оно и есть (надо читать доки :)....
Автор: GRIND
Дата сообщения: 20.07.2004 00:20
У меня при попытке выстроить строки по алфавиту - верхняя строка никак не меняется - это хорошо, когда сверху шапка, но когда нет... - как это включается/выключается
Автор: nofate
Дата сообщения: 20.07.2004 16:20
GRIND
А ты не кнопкой с панели сортировку запускай, а через меню Данные\Сортировка.
Там диалог будет. В нем чекбокс есть - по имени столбца выбирать колонку для сортировки (отсортируются все, начиная с первой) или по подписям (первая считается шапкой и не сортируется).
Автор: GRIND
Дата сообщения: 20.07.2004 22:46
2 nofate
Спасибо огромное - очень уж это глаза мазолило - теперь всё супер
Автор: ru4room
Дата сообщения: 22.07.2004 05:49
люди, такая проблема:

в ячейку листа нужно считывать название данного листа

можно ли это сделать формулой?
Автор: BEDbMAK
Дата сообщения: 22.07.2004 12:21
Da_Neil

Свойство ScreenUpdating объекта Application устанавливает, надо ли обновлять изображение во время выполнения программы. Задание этому свойству значения False (в начале макроса вставить строку Application.ScreenUpdating = False) ускоряет выполнение программы. В конце программы необходимо свойству ScreenUpdating присвоить значение True. Для сравнения, мой макрос без этих строк выполнялся - 15 мин., с ними - 2 мин.
Автор: mp3exchanger
Дата сообщения: 22.07.2004 19:46
to all
когда подбиваю сумму по определённому наименованию (Данные - Итоги...), то Excel добавляет слово "Итог". Как его не выводить или выводить другое слово?
Автор: Robert
Дата сообщения: 24.07.2004 17:17
ru4room

Цитата:
в ячейку листа нужно считывать название данного листа

Встроенной формулы для имени листа нет. Можно макросом, например:
Код: Range("A1").Value = ActiveSheet.Name
Автор: mp3exchanger
Дата сообщения: 24.07.2004 23:41
Robert

Цитата:
Только потом сплошной заменой на что-то другое менять.

Я до сих пор этим и занимался. Решил спросить ради интереса, вдруг есть альтернатива.
Автор: ru4room
Дата сообщения: 26.07.2004 09:35
Robert, thx

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Gentoo Linux


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.