powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Что то вроде контрольной суммы диапазона?
15 сообщений из 15, страница 1 из 1
Что то вроде контрольной суммы диапазона?
    #36500590
romazeka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть диапазон в котором формулы массива вытягивают инф-ю из другого файла. Когда эти данные каким либо образом меняются мне нужно запустить макрос. Данные представляют из себя цифро-буквенную смесь.
Нужно что то вроде контрольной суммы, что бы положить её в ячейку. При открытии файла допустим мы снова считаем контрольную сумму этого диапазона, сравниваем её с ранее сохранённой в ячейке и если разняться то запускаем макрос, после работы макроса обновляем контр сумму в ячейке.

Как можно решить?
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501020
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
romazeka2,
1) макросом считать сумму по диапазону и сохранять результат в ячейках как значения
2) не лениться и ручками писать =СУММ(), после чего сносить рез-ты и сохранять их как значения:
ctrl+c-пкм-специальная вставка-значения-ввод
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501024
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понятно только, как эту самую сумму вы собираетесь считать, при условии, что у васromazeka2Данные представляют из себя цифро-буквенную смесь.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501122
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBне понятно только, как эту самую сумму вы собираетесь считать, при условии, что у васromazeka2Данные представляют из себя цифро-буквенную смесь. Ну это как раз не проблема. Превращаешь все данные из ячеек в байтовый поток и скармливаешь их в считающую функцию.

И вообще, там все элементарно. Можно например так, на основе примитивного суммирования:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function crc(area as range) as integer
   dim i as long
   for each c in area.cells
      if isnumeric(c) then
         i = i + c.value
         i = i mod  65536 
      elseif istext(c) then
          for n= 0  to len(c.text)
               i = i + ascw(mid(c.text, n,  1 ))
               i = i mod  65536 
         next
      end if
    next
    crc = i
end function
А если есть сильное желание, то можно и MD5 припахать.

Но вообще-то: ХРАНИТЬ ДАННЫЕ В ЭКСЕЛЬ - ИДИОТИЗМ!!!
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501312
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНо вообще-то: ХРАНИТЬ ДАННЫЕ В ЭКСЕЛЬ - ИДИОТИЗМ!!!White Owl, но что делать-то простым сметрным? Уже пятый год думаю о любой СУБД (и даже на этом форуме писал, что вот-вот скоро будет внедрена система для решения задач нашего отдела, но, слава богу, ничего не купили и не внедрили. Теперь на новой работе та же история начинается. Очень надеюсь на успешное внедрение).
Всегда возникает множество "но" и аргуметнов против. Даже Аксесс пользовать не всегда удобно - нужна техническая поддержка.
аргументы против:
Деньги. На приобретение и внедрение, поддержку, модификацию, дополнению на переход к другим системам нужны средства.
Время. ... вот внедрили у нас 1с8 для расчета заработной платы и кадровой работы. Время внедрения - 2 года. Была программуля написанная под ДОС. За срок больше чем 15 лет отлаженная и работающая до сих пор без особых заскоков. Не так уж и много записей нужно хранить и обрабатывать. А теперь столько горя все хлебаем, перегоняя данные из эски в акссес - основную систему. Пока она отладится уже на другую версию нужно будет переходить.
Сопротивление людей. Многим не хочется думать заранее, у них всегда запарка и им некогда.
Ненаглядность СУБД. Редко кто в кишки лезет.
Ну а аргументов за мало, но они, почему-то, всегда становятся весомее аргументов против.
Дешевизна Экселя. ГИБКОСТЬ. НАГЛЯДНОСТЬ. Многие знают основы работы и не пугаются его интерфейса. Данные можно и хранить и обрабатывать.

А вы не первый год пропогандируете тотальный переход к базам данных.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501912
romazeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вспомнил свой пароль!

White OwlПревращаешь все данные из ячеек в байтовый поток и скармливаешь их в считающую функцию.

Это наверное был бы хороший вариант! А как это сделать?

Спасибо за вариант на основе простой суммы буду разбираться (не знаю что такое "i mod 65536" и "ascw(mid(c.text, n, 1))" )

Сергей06.. ГИБКОСТЬ. НАГЛЯДНОСТЬ.

это точно. себестоимость производства считаем в экселевской модели. очень мудрёная схема расчёта, постоянно что то меняеся на производствах и в модели удобно что то по ситуации подогнать. Хотя на предприятии восьмёрка есть, программеры пытаются там уложить нашу схему расчёта год уже, но пока результата не видно
Щас вот изучаю макросы, думаю некоторые маменты улучшить с их помощью. Если получиться то восьмёрка не понадобиться вообще.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36501962
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей06
Дешевизна Экселя.
С чего вы взяли, что Эксель дешев. MS Office как раз очень дорогой продукт. Многие СУБД наоборот бесплатны.

Сергей06
ГИБКОСТЬ. НАГЛЯДНОСТЬ. Многие знают основы работы и не пугаются его интерфейса. Данные можно и хранить и обрабатывать.
То же самое можно сказать про лист бумаги. Работайте с ним.

Сергей06
А вы не первый год пропогандируете тотальный переход к базам данных.
И я тоже.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502073
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часто решающим аргументом выступает доступность. Excel установлен на всех машинах с Виндой (мизерный процент исключений игнорируем :)), чего-то доустанавливать не требуется, для работы обучение первонала минимальное.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502077
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FСергей06
ГИБКОСТЬ. НАГЛЯДНОСТЬ. Многие знают основы работы и не пугаются его интерфейса. Данные можно и хранить и обрабатывать.
То же самое можно сказать про лист бумаги. Работайте с ним.
И я тоже.Точно. Забыл сказать, что многие и сейчас с бумагой и только с бумагой работают
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502079
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, "первонала" - это не "первой налички", а "персонала"
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502082
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[spoiler По поводу переходов на БДцыпцыпцы[/spoiler]
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502133
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу перехода на бдграмотный подход имхо:
excel отлично испльзовать при построении модели и отладки процессов, возникающих в работе новых направлений именно из-за нагладности и т.д.
Затем пишется ТЗ и профессиональные программисты по этому ТЗ выполняют надстройки для внутренней IT-системы организации.
А если придерживаться логики: "вот ковыряем всё в excel, наконец-то, через год, как надо заработало, лучше не трогать", тогда понятно, что возникнут вопросы типа "а 2008 правда быстрее 2000 версии?", "а если я вместо =СУММ() буду циклом VBA складывать значения, у меня вес книги уменьшится?" =)))
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502631
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viktturЧасто решающим аргументом выступает доступность. Excel установлен на всех машинах с Виндой (мизерный процент исключений игнорируем :)), чего-то доустанавливать не требуется, для работы обучение первонала минимальное.

Зато написание полноценного приложения на Excel задача на порядки более сложная, чем с использованием СУБД.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36502658
romazeka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оставим тему что лучше БД/Ехсел.


White Owl, ответьте пожалуйста как сделать это:

White OwlПревращаешь все данные из ячеек в байтовый поток и скармливаешь их в считающую функцию.
...
Рейтинг: 0 / 0
Что то вроде контрольной суммы диапазона?
    #36503469
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
romazekaWhite Owl, ответьте пожалуйста как сделать это:

White OwlПревращаешь все данные из ячеек в байтовый поток и скармливаешь их в считающую функцию.
Я ж уже показал...
Каждое число это набор байт, каждый текст это тоже набор байт. Берешь ячейки друг за другом, читаешь из них данные.
Если это число, последовательно делишь это число на 256 (размер одного байта) и берешь остаток от деления - получишь список из нескольких байт.
Если это текст, то режешь его по одной букве и берешь ASCII код этой буквы - получаешь опять байтовый список.
В зависимости от того надо ли тебе потом эти списки расшифровывать обратно или нет можно предварять их в общем потоке несколькими дополнительными байтами - тип значения, длина значения.
В моем примере я делил числа на 65536 и брал ascW() от отдельных букв - я работал не с отдельными байтами а с парами байт. Не принципиально, но ascW() удобней с точки зрения текстов с разными алфавитами, но оно возвращает двухбайтовое значение а не однобайтовое, поэтому я и числа начал делить на пары байт вместо отдельных.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Что то вроде контрольной суммы диапазона?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]