powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / учет рабочего времени сотрудников
25 сообщений из 43, страница 1 из 2
учет рабочего времени сотрудников
    #38721290
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо была делать учет рабочего времени сотрудников. Мне помогли это делать и потом я кое-что меняла в этом макросе. Вроде все работает. Но, иногда получается такие файлы (исходные данные берется из TXT файла), для них программа не правильно работает.
Например, при расчета 23 12-08-2014 8-16-39.txt все нормально. А в следующий файл (24 12-08-2014 8-16-58.txt) совсем по другому получается: столбцы меняется местами и т.д. Но, между этих двух файлами по структуре ни какая разница не нашла. Помогите пожалуйста в чем моя проблема.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722166
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во обе файлах структура одинаковая.
Порядок столбцов и их расположение не меняется.
Но, почему-то результат по разному получается.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722170
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вряд ли кто-то захочет разбираться ради интереса, что вы подразумеваете под "по другому", "меняются местами", не говоря о том, что оказывается программа работает только один раз, а потом надо восстанавливать файлы (а кто об этом должен был предупредить?) и т.п.

Я вот за 5 минут ковыряния не смог понять, в чем у вас проблема со вторым файлом, то есть что значит "результат по разному".

Пишите подробно, что нужно сделать, как правильно запускать программу, что вы ожидаете увидеть, что вместо этого получается, тогда можно будет рассчитывать на какую-то помощь.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722222
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, да , Вы правы. Извините, за это. Попробую, еще раз.
После каждого запуска программы исходные файлы отмечается как уже обработанный, чтобы 2-й раз не использовать эти файлы.

Для ясности в папке можно оставит только 1-й файл (23 12-08-2014 8-16-39.txt) или убрать 1-й символ (#) в название файла и сам макрос. При расчета в листбоксе видно будет вот эти данные Data N karta FIO Narusheniya Otdel , т.е., 1-й (Data=Базовое время), 9-й, 8-й (N karta=Номер карты) и 10-й(FIO=Имя) столбцы из текстового файла. Narusheniya и Otdel "от руки" пишутся. Здесь все нормально.


А при расчета другого файла (24 12-08-2014 8-16-58.txt) вместо 8-го столбца 3-й(Тип), вместо 10-го столбца 4-й (Состояние) столбцы из текстового файла получается. А вместо Narusheniya и Otdel соответственно 5-й (Приор.) и 6-й (Считыватель) столбцы получается.

По моему во обе файлах структура одинаковая. А почему такая разные результаты- вот это я не могу понять
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722371
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во втором файле в отличие от первого нет нарушителей
Поэтому вместо того, чтобы вывести нарушителей, на первый лист просто фигачатся необработанные изначальные данные

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
With Nar
    If .Count Then
        ReDim Arr(1 To .Count, 5)
            For i = 1 To .Count
                Vch = .Item(i & "")
                Arr(i, 0) = Vch(0): Arr(i, 1) = Vch(1):
                Arr(i, 2) = Vch(2): Arr(i, 3) = Vch(3):
                Arr(i, 4) = Vch(4): Arr(i, 5) = Vch(5)
            Next
    End If
End With

With ThisWorkbook.Worksheets(1)
     R = .Cells(Rows.Count, 1).End(xlUp).Row + 1
     .Cells(R, 1).Resize(UBound(Arr), 6) = Arr
End With
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722435
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда, что мне надо делать чтобы если в файле нет нарушителей программа для этого файла ничего не делал?
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722455
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить дополнительное условие, например так
Код: vbnet
1.
2.
3.
4.
5.
6.
If Nar.Count Then
  With ThisWorkbook.Worksheets(1)
       R = .Cells(Rows.Count, 1).End(xlUp).Row + 1
       .Cells(R, 1).Resize(UBound(Arr), 6) = Arr
  End With
End If
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38722499
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавила, но для некоторых файлов эта проблема остается.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723197
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста, очень надо. Добавила условия, но проблема остается.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723199
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aqil_Fдля некоторых файловвот вы сами как думаете, не имея этих "некоторых файлов" я могу вам помочь чем-то?
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723205
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723206
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723215
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код, который вставляет неверные данные, из вашего файла никуда не делся
Код: vbnet
1.
2.
3.
4.
With ThisWorkbook.Worksheets(1)
     R = .Cells(Rows.Count, 1).End(xlUp).Row + 1
     .Cells(R, 1).Resize(UBound(Arr), 6) = Arr
End With
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723502
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо все получилась.

Я еще хотела не удалить каждый раз информацию из лист1. Т.е., хочу чтобы новую информацию добавить в 1-ю свободную строку.
И еще понимаю что-то здесь надо менять:
Код: vbnet
1.
2.
3.
4.
5.
If N = 0 Then .Worksheets(1).UsedRange.Offset (1).ClearContents
              Naruschiteli
              Replase_Fale_Name fn, My_Path_File
              N = N + 1
            End If



Но, как? Не понимаю. Если не трудно, помогите пожалуйста и в этом вопросе, пожалуйста.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38723611
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
убрать первую строку
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38724011
Aqil_F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, первая строка- эта значить весь IF ... END if убрать, или только

Код: vbnet
1.
 .Worksheets(1).UsedRange.Offset (1).ClearContents

?
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #38724042
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первая строка - это первая строка
End If в первой строке нет
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
учет рабочего времени сотрудников
    #39791322
RSB64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые! Поставили задачу разработать табель учета рабочего времени. Так вот, почти сделал, и ключевое слово здесь "почти".
Столкнулся с рядом проблем.
проблема первая: есть формула подсчета времени переработки, там где время работы 8 часов считает нормально, но если больше то все полный абзац.
проблема вторая: эта же формула когда считает время причем приближенное к 24 часам, творит все что угодно, и вроде правильно считает, но с минусом, минус убираю выходит фигня.
проблема третья: опять же формулы отказываются считать время ночное с 19:00 часов
проблема четвертая: есть итоговая таблица по времени работы куда с ежедневных табличек (условно отдельно лист) должны аккумулироваться данные, но это опять же происходит через раз. Да табличка итоговая немного сложная, но если честно то я ушатался с ней, может подскажите как прописать универсальную формулу либо поможете с макросами.
Помогите пожалуйста, век помнить буду!!!!!!!

Да не судите строго, я работать с экселем только учусь.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791347
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RSB64,

Готов помочь на платной основе или бесплатно, но тогда давайте конкретные вопросы по формулам или ждите, если кто захочет вникать и разбираться в Ваших задачах и проблемах.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791399
RSB64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, от оказания платной помощи откажусь.

Давайте пробовать пошагово, но даром:)

=ЕСЛИ(G14-0,5+(G14>"12:")<0;"-";"")&ТЕКСТ(ABS(G14-0,5+(G14<"12:"));"ч:мм") эта формула от общего количества трудочасов в день при вычитании должна давать остаток (образно говоря отработано 8 часов 25 минут, в остатке имеем 25 минут). Но если человек не работал и количество трудочасов 0, то формула все равно проводит вычитание и мы имеем -12 часов.

Так вот что и куда нужно добавить, сможет кто нибудь подсказать, чтобы в этом случае получался НОЛЬ.

Цель: унификация формулы
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791410
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RSB64,

Если настройки локали будут таковы, что ч это не часы, а мм это не минуты, то отображаться будет "ч:мм".

Чтобы отображался ноль в Вашей формуле, то добавьте условие проверки на количество часов.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791420
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RSB64G14>"12:"А меня вот это очень сильно смущает. Дата сравнивается с текстом. Что там будет в результате - вообще плохо детерминируемо.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791423
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Там вообще без слез не глянешь.
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791431
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М-да. А в ячейке G14, судя по файлу, лежит не дата-время, а текст. То есть производится операция над текстом и числом "G14-0,5", судя по всему текст неявно превращается в дату, потом сравнивается уже как текст... та жуть, тут вообще непонятно, как хоть что-то работает.


RSB64, я предлагаю начать с освоения вот этого
...
Рейтинг: 0 / 0
учет рабочего времени сотрудников
    #39791447
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Можно, конечно, парсить дату, а можно сделать короткими формулами с одним условием в каждой, и применить пользовательский формат. Пользовательский формат будет работать корректно в любой локализации.
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / учет рабочего времени сотрудников
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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