Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
-
Изменено: Tatarin_2 - 12.05.2018 13:09:54
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
В качестве файлика у меня только Ваш макрос, немного мной доработанный найденным в сети выводом в файл, но этот код не актуален, сейчас нет необходимости искать, а затем вычленять данные из строки, все данные уже в конкретных ячейках.
Как проверить на выполнение условия? Я думаю так, макрос проверяет количество знаков ( ; ) в ячейке Q4, если этих знаков четыре, то размещает текущее значение  L4 последним в ячейке, считая, что теперь кол-во данных в ячейке равно четырем, открывает соответствующий файл на запись, дописывает содержимое ячейки Q4 в файл с новой строки, закрывает файл и очищает ячейку Q4 для нового накопления, цикл повторяется.
Изменено: Tatarin_2 - 29.04.2018 22:35:12
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
БМВ, там же написано - 1 раз в минуту, это по таймеру или как?
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
Вообще то выкладывать личку в паблик это моветон, хотя там же Вы писали что несколько дней Вас не будет у компа, ну да ладно.
Ваш макрос уже не работает, поскольку поменялись условия, поэтому кроме скрина мне проиллюстрировать нечем. Если мои пояснения никому не понятны, значит надо понимать помощи ждать не стоит.
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
Что именно не понятно?
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
Если кому что не понятно - вот небольшая иллюстрация
Экспорт по условию в три файла *.csv трех диапазонов переменных, Накопить в ячейке четыре значения переменных и при выполнении этого условия экспорт в файл, потом цикл повторяется
 
Всем здравствуйте.  Кто сможет написать макрос чтоб он автоматом начинал работать при открытии книги? Я уже создавал подобную тему, но условия изменились и нужен новый макрос взамен того что сделал БМВ.
Задача изменилась вот как:

Три переменные одновременно приходят с локального сервера один раз в минуту всегда в одни и те же ячейки (L4, M4, N4). Нужно, чтобы переменная из L4 попадала в Q4 с накоплением, то есть, число (с двумя знаками после запятой) приходит в L4, макрос ставит один раз дату\время в начале ячейки Q4,( это как бы служебная инфа, дата\время начала накопления этой ячейки, и переменной не считается), потом после даты\времени ставит знак ( ; ), проверяет кол-во переменных в ячейке Q4, если их меньше четырех, то ставит переменную из L4 в Q4 и отделяет знаком ( ; ), иначе (если их уже четыре) дописывает содержимое ячейки Q4 в файл L.csv с новой строки, закрывает этот файл, очищает ячейку Q4, ставит в начало ячейки один раз дату\время, отделяет знаком ( ; ) и ставит переменную сюда(По остальным ячейкам идентичные действия, L4->Q4,   M4->R4,   N4->S4).

То есть, одним проходом макрос последовательно проверяет количество переменных в ячейках Q4, R4, S4, если в них уже по четыре значения переменных, то открывает соответственный файл (L.csv, M.csv, N.csv) на запись, дописывает значение соответствующей ячейки с новой строки, каждый в отдельный файл (с именами L.csv  M.csv  N.csv), закрывает файл на запись. Иначе - разносит соответственные переменные по ячейкам L4->Q4,   M4->R4,   N4->S4.

Огромная просьба, если кто возьмется, подробно откомментировать каждую строку, это важно, и вот почему. Ожидаю еще один источник данных, он будет давать еще ОДНУ переменную (с двумя знаками после запятой), и чтоб я смог самостоятельно добавить его показания в выводной файл, например из О4 в Т4, ну или как то зарезервировать и пока закомментировать строки кода макроса для еще одной переменной, до времени.
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
vikttur, Еща раз - я никого не трогал, по теме цитирования я уж думал что все решили, нет, нашелся советчик что и как мне делать. Я не мог его вежливо поблагодарить за непрошеный совет? Тема топика - хэлп к экселю, есть информация - с благодарностью прочту, нет - ну пройди мимо, всего то.
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Юрий М, Я не тролль, я вообще никого не трогал, я только спросил о хэлпе к эксель и пару раз ответил двум пользователям на непрошеный совет, и  всего лишь.
Изменено: Tatarin_2 - 17.03.2018 22:42:38
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Андрей VG,Бана? И за что? За то что делают все и Вы в том числе, а на "ошибки " указывают только мне?

"Не нравится око государево - мигрируете в terra incognita." Вы тут кто? Пользователь? Ну так и пользуйтесь.
А с модераторами вроде и без Вашего драгоценного выяснили.
Или не в курсе пункта правил форума " 4.5. Самовольное модерирование. Т.е. когда некий участник форума, не являющийся модератором данного форума, делает замечания другим участникам."
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Юрий М, вот ведь Вы точно так же "избыточно" процитировали, дважды воспользовавшись кнопкой Цитировать, и ничего не произошло, небо не рухнуло, шибко не "захламили" тему, даже как-то наряднее.
Даешь свободу кнопке "Цитировать", долой зажим, да здравствует...ну там чего-нибудь.
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
vikttur,"Открою Вам большой секрет: кнопка цитирования для цитирования!" - Зачем Вы это сделали, теперь и я знаю большой секрет, наверное меня за это пристрелят.
"Цитирование — это прямое использование текста из какого-нибудь источника без искажения мысли автора" - Не вру, или мой интернет взломали. Что касается правил форума - там только о чрезмерном цитировании. Но разве одна строка это уже чрезмерно? Например тут, все к месту. Не, ну я конечно понимаю, что "Этa нога — у того, у кого надо нога".
Скрытый текст

Здесь ведь Курилка, я то думал что можно было б ослабить галстук и сдвинуть шляпу, ан нет, и тут бдит око государево.

Юрий М, у меня получилось, я уже всем похвастался.

Я ничего в этой теме не нарушил. Единственно, не учел личные предпочтения модератора.
Надумаете банить - стреляться не буду, конечно тихо поплачу, как водится у мужиков, и спать.
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Цитата
Tatarin_2 написал:
Кнопка цитирования не для ответа [МОДЕРАТОР]
Блин, незадача. А для чего?
Судя по Вашему обостренному вниманию к моей скромной персоне кнопка цитирования чисто для общения с Вами.
Вам скучно, или я таки успел за пару недель лично модератору насолить?
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Дмитрий Щербаков, спасибо, пробовал до вопроса сюда, пишет что поддержка прекращена и типа обломись дружок с автономным хэлпом)

Цитата
Dima S написал: не проще скачать нормальный офис?)
Зачем такие вопросы? Тогда бы я так и спросил - А не проще ли скачать нормальный офис?
Но я спросил другое.

Кнопка цитирования не для ответа [МОДЕРАТОР]
Формировать последовательные ячейки из входяших данных
 
Код
.Cells(Rows.Count, 8).End(xlUp).Offset(1, 0).Resize(, 2) = A

Поменял 8 на 7, тогда обе колонки смещаются на столбик влево, и начинают вывод сверху, со второй строки

Цитата
БМВ написал:
а если б посомтрели на №37, то это и ненужно, там все само находит
Поменял в макросе, действительно находит, понаблюдаю.

Цитата
БМВ написал:
Как эти хотелки соотносятся с первым вопросом?
Да собственно уже никак, если имеется ввиду первый мой пост, все что я просил Вы уже сделали.
Я ж написал - хотелки, улучшение. Может быть все еще сохраняется впечатление что я придуриваюсь и мне лень самому кодить, это не так. Все что мне доступно в этом плане я делаю.
Формировать последовательные ячейки из входяших данных
 
Код
Private Sub q_AfterRefresh(ByVal Success As Boolean)
  Dim RefreshTime
  RefreshTime = Now
  Dim Shift_1 As Integer ' Заводим переменную с именем Shift_1
  Shift_1 = [E14] + 13   'для первого слова плюс дополнит. смещение на 13
  Dim Shift_2 As Integer  'Заводим переменную с именем Shift_2
  Shift_2 = [E14] + 10    'для второго слова плюс дополнит. смещение на 10
  Dim A(1 To 1, 1 To 2)
If Success Then
    With Лист2
        Data = .Range("A18:A21")
        For i = 1 To UBound(Data)
            If InStr(1, Data(i, 1), "Temperature:") > 0 Then
                A(1, 1) = CDbl(Replace(Mid(Data(i, 1), Shift_1, 19), ".", ","))  'Вставляем переменную Shift_1
            ElseIf InStr(1, Data(i, 1), "Humidity:") > 0 Then
                A(1, 2) = CDbl(Replace(Mid(Data(i, 1), Shift_2, 19), ".", ","))  'Вставляем переменную Shift_2
            End If
        Next
Хвастаюсь.
Опытным путем нашел как ссылаться на ячейку, где у меня всегда позиция начала искомого слова, и подобрал число дополнительного смещения. Вот наблюдаю, пока все ровно.
Вопрос такой - эта ссылка на Е14 не абсолютная, я переместил весь столбик левее и макрос перестал работать.Как указать ей в макросе что она абсолютная?

Макрос, после всех формальностей по разрешению на включение и доступ, не стартует автоматом, как Вы сказали, стартую вручную, но эксель бурчит
Цитата
Не удается выполнить макрос "'...........\My Meteo _2.xlsm'!My Meteo _ 2. xlsm. Start". Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены
Хотя все равно потом работает. Может он где-то привязан к конкретной книге и конкретному листу? Я то посмотрел - вроде нет, но тем не менее.

Хотелки, если Вам еще не надоело. Если можно, переместите в макросе столбик Н в столбик G, с тем, чтобы освободить столбик Н, и слева в столбик G ложить значение температуры, а рядом, в столбике F системную дату-время. Тоже самое для влажности, значение, как и было раньше, в столбик I, а системную дату-время в освободившийся столбик Н.
Изменено: Tatarin_2 - 11.03.2018 13:42:13
Формировать последовательные ячейки из входяших данных
 
РАБОТАЕТ ПРАВИЛЬНО)))
БМВ, благодарю от всей души, я бы примерно пол года вникал сначала в VB, потом в саму проблему.
Еще вопрос, как максрос себя поведет при увеличении длины искомой строки? Будет или не будет обрезать? вот что волнует.
Ну и если еще не надоела задача, я понаблюдаю за работой макроса, если что - я к Вам с горючими слезами)

Еще раз, огромное спасибо.
Формировать последовательные ячейки из входяших данных
 
обрезает первую цифру, видимо где надо вставить проверку длины искомой строки, то есть на старте запоминает длину искомой строки и с каждым приходом пачки проверяет, если длина увеличилась, то внести коррективы в поиск конца строки на предмет выделения последних пяти символов
Формировать последовательные ячейки из входяших данных
 
Пишет
Run-time Error 13
Type mismatch
Подсвечивает на эту строку
A(1, 1) = CDbl(Mid(Data(i, 1), 33, 19))
Изменено: Tatarin_2 - 10.03.2018 22:50:23
Формировать последовательные ячейки из входяших данных
 
Как нужно заменить? В макросах становлюсь на макрос со *.Start, кнопка Изменить, копирую Ваш исправленный текст на форуме, один в один заменяю в его в VB, закрываю VB и макрос исчезает из списка. Что не так делаю?
Вывод значения в ячейку с переходом на следующую, Заполнить ячейку значением и перенести фокус на следующую для следующего значения
 
Цитата
БМВ написал:
Вы б сослались на первую тему, там и обработку события я вам демонстрировал.
Это я не виноватый, это мне модератор настрого внушил, мол это отдельный вопрос, достойный отдельной темы, и может составлять государственную тайну.
Формировать последовательные ячейки из входяших данных
 
Урааааааааа, уже работает, чуть неправильно, но работает.
Обгрызаются первые два символа в таблицах, пишет только точку и десятичные. Там где по четыре значения - ставит время-дату, правильно считает по 4 значения, но тоже обгрызает первые два знака. Со временем число индекса(крайняя левая группа чисел до знака :     ) удлиняется на один знак и, видимо, поиск и вывод сбиваются.

Там два макроса, test и еще один. Какой из них запускать? А то я и тот и тот запустил не помню в какой последовательности.

Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]
Вывод значения в ячейку с переходом на следующую, Заполнить ячейку значением и перенести фокус на следующую для следующего значения
 
Спасибо, забавно) Буду пробовать разбираться.
А как можно капнуть по событию? Например, сработал запрос на обновление по сети(точно не знаю как назвать, внизу слева маленький зеленый глобус, это обновление, потом он исчезает. Наверное момент обновления как то можно отследить) - один кап,
Формировать последовательные ячейки из входяших данных
 
"вы сами сбили с толку, поставив время 21:31 ведь там может быть только 21:34" - Ну наверное мы друг друга сначала недопоняли. Я, видимо, забыл откомментировать подробнее.

Да, точно А18-А21. Я немного подправил свой пост - "Приходит пачка. В ней 20 строк, выбираем последние 4 строки, там новые значения."
И вот уже с последними четырьмя строками работаем, выбираем из них.
Изменено: Tatarin_2 - 10.03.2018 20:47:31
Есть ли у кого-нибудь русский хэлп к Excel 2007
 
Беда вот в чем. У меня портабельная версия, досталась на древнем сидюке. Все бы хорошо, но при каждом вызове справки хэлп лезет в нет и оттуда тащит.
Может у кого есть хэлп, чтоб встроить его в эксель?
Формировать последовательные ячейки из входяших данных
 
Приходит пачка. В ней 20 строк, выбираем последние 4 строки, там новые значения. Из них
--находим строку со словом Temperature: 24.50 (цифра условная, в пачке десятые отделены именно точкой) , забираем из этой строки правые пять символов(они крайние, пять символов это с вместе с точкой) и кладем их в ячейку колонки "Температура" и переходим на ячейку ниже для следующей пачки,
--И, с этим же значением переходим в колонку "Температура" (которая по четыре значения), проверяем, там меньше четырех значений - кладем туда, иначе переходим на следующую ячейку, ставим системную дату-время и кладем в новую.
Все то же самое из этой пачки со строкой Humidity.

Почему четыре а не пять? Так надо, для удобства.
Почему на одну и ту же минуту приходится 4 значения? Здесь дата-время это фиксация времени приема первого значения.
Откуда возьмется 24,50 ? Я изобразил как бы уже (условно)поработавшую 8 минут таблицу и как бы принявшую и раскидавшую по ячейкам  8 пачек значений, поэтому 24,50 это из левого столбика "Температура", там она вторая сверху. Вы же просили набросать схемку как я вижу эти таблицы, ну я и разгулял фантазию во всю толщину.
Изменено: Tatarin_2 - 10.03.2018 20:14:47 (добавил текста)
Вывод значения в ячейку с переходом на следующую, Заполнить ячейку значением и перенести фокус на следующую для следующего значения
 
Вот к примеру, подтекает крантик, назовем его условно com port, раз в минуту безо всяких причин и логики из краника капает по капле. Но, капает, собака, в одну и ту же ячейку(представим вместо нее лабораторную мензурку). Задача - придумать супер-механизм (супер-функцию), передвигающий заполненную ячейку, а на ее место очередную пустую ячейку(мензурку) под следующую каплю из крантика, тот, который мы обозвали com port. Как осуществить такое чудо?
Формировать последовательные ячейки из входяших данных
 
Что это? Как функция в ячейку не влазит и матерится.
"Только это не фокус и вывод туда прсто так не произойдет." - Как это понять, если вывода не произойде, тогда нафига мне эта функция.
Код
Лист2.Range("H8").End(xlDown).Offset(1, 0)
Формировать последовательные ячейки из входяших данных
 
Именно по теме. Первый пост - "Чего добиваюсь, чтоб выводилась температура в отдельный столбик каждый  тик(через минуту) в отдельной ячейке с переходом на нижнюю ячейку для  следующей записи."
Изменено: Tatarin_2 - 10.03.2018 18:36:31
Формировать последовательные ячейки из входяших данных
 
Хорошо, ответа нет.
Тогда может кто знает как заставить эксель выводить результат и переводить фокус на нижнюю ячейку для следующего вывода?
Страницы: 1 2 След.
Наверх