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

Страницы: 1
Расчет цены по типу работ
 
JayBhagavan, спасибо! Все работает!
Расчет цены по типу работ
 
Добрый день.

Нужно чтобы в столбце "Цена" была формула: если в столбце "тип работ" выбрать "диван (угловой)", то нужно найти соответствие в столбце "Наименование работ", если совпадают, то вставить "Стоимость".
Присвоение уникального номера по комбинации цифр
 
Pelena, большое спасибо! То что нужно.
Присвоение уникального номера по комбинации цифр
 
Pelena. Вопрос. Возможно ли дополнить формулу таким образом: Если комбинация не имеет цифру 1, то уникальный номер не присваевается? То есть если комбинация идет 1-2-3-2-3 то последние 2-3 игнорируются.
На данный момент, формула игнорирует пустые ячейки, и комбинации 2-3 если они идут после пустой ячейки. Но если пустой ячейки нет, то формула присваивает уникальные значения комбинации 2-3.
Присвоение уникального номера по комбинации цифр
 
Pelena, премного благодарен! Ваш вариант лучше.
Присвоение уникального номера по комбинации цифр
 
Ігор Гончаренко, файл проверил, он верный. Под комбинацией я имею в виду: В столбике С сверху вниз по ячейкам идут 1, 2, 3.

Приложу пример как должно получиться.  
Присвоение уникального номера по комбинации цифр
 
 Добрый день!

Есть столбик с цифрами (столбик С). Цифры создают комбинации которые идут так: 1-2-3, 1-2, 1-3.

Требуется макрос который будет каждой комбинации присваивать уникальный номер. То есть если идет комбинация 1-2-3, то ей например присваивается номер 000001. Если 1-2, то например 000002, 1-3 то например 000004 и т.д. Главное чтобы для каждой комбинации присваивался 1 уникальный номер.

В идеале: макрос создает рядом с столбиком С пустой столбик, и в него записывает уникальные номера.

П.С. Иногда в между цифрами попадаются пустые ячейки. Например 1-2-3-1-2-пустая ячейка-1-пустая ячейка-3.

Комбинация должна начинаться строго с цифры 1, если идет 1-2-3-2-3, то последние 2 и 3 должны игнорироваться, присвоение номера должно произойти для первых 1-2-3.
Расчет времени при совпадении двух параметров, Нужно расчитать время,
 
Bema, спасибо! Все работает.
Расчет времени при совпадении двух параметров, Нужно расчитать время,
 
Bema, подскажите пожалуйста:

Если я во вкладке "имена и действия" в столбце ACT_USER добавляю фамилию, в формуле =ЕСЛИ(И(ИЛИ(L3='Имена и действия'!$A$2:$A$13);ИЛИ(N3='Имена и действия'!$C$2:$C$8));J3-J2;"") меняю диапазон до $A$13, то формула перестает работать. Из-за чего это может происходить?
Расчет времени при совпадении двух параметров, Нужно расчитать время,
 
Благодарю Bema! Так даже проще.
Расчет времени при совпадении двух параметров, Нужно расчитать время,
 
Добрый день.

Требуется макрос, который будет проверять столбик L (ACT_USER), на совпадение с со списком нужных имен (список имен приложен). Если есть совпадение, то следующим действием нужно проверить столбик N (ACT_TITLE) в той же строчке со списком дейсвий (так же приложен). Если ИМЯ и ДЕЙСТВИЕ совпадают со списками, то нужно в столбике J (ACT_TIME) провести расчет: время этой же строчки, отнять время предыдущей строчки.

Получается так: В столбике L встречается имя YEKATERINA.STEFANOVA (3 строка), в столбике N 3й строки попадается "Скопировано в буфер", то нужно J3 - J2 (столбик ACT_TIME) для расчета количества времени. Результат расчета записать в соответствующие строки в столбик O.
Изменено: Толстяк3 - 28.12.2017 12:11:25
Разделение времени на "День" / "Ночь"
 
Кнопка цитирования не для ответа [МОДЕРАТОР]
Благодарю! Я принимаю 9:00 за утро, 18:00 за ночь.
Разделение времени на "День" / "Ночь"
 
Больше спасибо V! То что нужно.
Разделение времени на "День" / "Ночь"
 
Добрый день. Есть таблица с датами и временем. Нужен макрос который в соседнем столбце отобразит день это был или ночь, при условии, что день (с 9-00 до 18-00), ночь (с 18-00 до 9-00).
Определение превышения по времени, Ошибка в макросе.
 
Благодарю! Проблема решена.
Определение превышения по времени, Ошибка в макросе.
 
Добрый день. Есть 5 макросов которые работают друг за другом:
1й макрос, убирает с колонки "М" ячейки не содержащие "4G". 2й макрос убирает с колонки "К" ячейки не содержащие объекты "ERBS". 3й создает колонку "DownTime" и высчитывает в нем разницу между "Start_Date" и "Finish_date", получает число. 4й по колонке "М" определяет приоритет. 5й макрос должен определять превышение по времени и приоритету, то есть если приоритет "4" и время в колонке "DownTime" превышает 1440 то в колонке "R" появляется цифра "1". Если не превышает 1440 то появляется "0".

Проблема в 5м макросе. При прогонке макроса, крашится в строке:
"If Cells(i, 14).Value = 4 Then If (1441 - Cells(i, 17).Value) > 0 Then Cells(i, 18).Value = 0 Else Cells(i, 18).Value = 1"

Вопрос: Где ошибка?

Код прилагаю:
Код
Sub Delnot4G()                                ' удаление строк, в которых нет 4G - рабочая
Application.ScreenUpdating = False
Dim lLastCol As Long, i&
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row  ' определяем номер последней строки
With Worksheets("1")                 ' лист должен называться "1"
   For i = lLastRow to 2 Step -1      ' обработка в обратном порядке, т.е. с конца таблицы
     If Not (Cells(i, 13) like "*4G*") Then Rows(i).Delete  ' если в столбце M (13) значение не равно 4G, то удалить строку
   Next i
End With
End Sub


Sub TTRR_2_DelToERBS()
' удаление в столбце "K" всего текста до позиции "ERBS"
Application.ScreenUpdating = False

Dim s As String, lLastCol As Long, MyPos, i&, b
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = lLastRow To 2 Step -1
        MyPos = InStr(1, Cells(i, 11), "ERBS", vbTextCompare)
        b = MyPos - 1
        s = Cells(i, 11).Value
        s = Right(s, (Len(s) - b))
        Cells(i, 11).Value = s
        Next i

' удаление в столбце "M" всего текста до позиции "4G:"
For i = lLastRow To 2 Step -1
        MyPos = InStr(1, Cells(i, 13), "4G:", vbTextCompare)
        b = MyPos - 1
        s = Cells(i, 13).Value
        s = Right(s, (Len(s) - b))
        Cells(i, 13).Value = s
' определение региона 51 - Актау, 61 - Атырау
   If Cells(i, 11) like "ERBS_5*" Then Cells(i,3).Value = "Aktau(M)"
         if Cells(i, 11) like "ERBS_61*" Then Cells(i,3).Value = "Atyrau"
        Next i
End Sub

Sub TTRR_3_countMIN()
Application.ScreenUpdating = False
' подсчет downtime как разница между finish_date и start_date (в минутах)
Columns(16).EntireColumn.Insert 'вставка столбца перед столбцом Р
Dim s As String, lLastCol As Long, MyPos, i&, b
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("P2").Select
For i = lLastRow To 2 Step -1
        Cells(i, 16).Value = "=(RC[-1]-RC[-2])*24*60"
        Next i
        Columns("P:P").Select
    Selection.NumberFormat = "0"
    Range("P1").Select
    ActiveCell.FormulaR1C1 = "Downtime" ' присвоение имени столбцу
End Sub

Sub TTRR_4_Prioritet()
' присвоение приоритетов ТТ
    Application.ScreenUpdating = False
    Columns(14).EntireColumn.Insert    'вставка столбца перед столбцом N
    Dim lLastRow As Long, i&, t&, arr
    lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = lLastRow To 2 Step -1
        If InStr(1, Cells(i, 13), ":", vbTextCompare) Then
            arr = Split(Cells(i, 13), ":", 2)
            t = Split(arr(1), ",")(0)
            Select Case True
                Case t = 1: Cells(i, 14).Value = 4
                Case t > 1 And t < 5: Cells(i, 14).Value = 3
                Case t > 4 And t < 20: Cells(i, 14).Value = 2
                Case t > 19: Cells(i, 14).Value = 1
            End Select
        End If
    Next i
    Range("N1").FormulaR1C1 = "Priority"    ' переименование столбца "N"
End Sub

Sub TTRR_5_opredPrevisheniya()
' определение ТТ с превышением (признак 1) нормативного времени решения
Application.ScreenUpdating = False
Columns(18).EntireColumn.Insert 'вставка столбца перед столбцом R
Dim s As String, lLastCol As Long, MyPos, i&, b
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = lLastRow To 2 Step -1
        If Cells(i, 14).Value = 4 Then If (1441 - Cells(i, 17).Value) > 0 Then Cells(i, 18).Value = 0 Else Cells(i, 18).Value = 1
        If Cells(i, 14).Value = 3 Then If (481 - Cells(i, 17).Value) > 0 Then Cells(i, 18).Value = 0 Else Cells(i, 18).Value = 1
        If Cells(i, 14).Value = 2 Then If (361 - Cells(i, 17).Value) > 0 Then Cells(i, 18).Value = 0 Else Cells(i, 18).Value = 1
        If Cells(i, 14).Value = 1 Then If (241 - Cells(i, 17).Value) > 0 Then Cells(i, 18).Value = 0 Else Cells(i, 18).Value = 1
        Next i
         Range("R1").Select
    ActiveCell.FormulaR1C1 = "Out_of_Norm" ' переименование столбца "R"
End Sub

Sub TTRR_Ultimate()
    Call TTRR_1_DelNot4G
    Call TTRR_2_DelToERBS
    Call TTRR_3_countMIN
    Call TTRR_4_Prioritet
    Call TTRR_5_opredPrevisheniya
    End Sub
Макрос по расстановке приоритета.
 
Благодарю! Код работает!  
Макрос по расстановке приоритета.
 
Добрый день. Есть макроса который должен в файле расставлять приоритет следующим образом:
1. Создает колонку N.
2. В колонке M, проверяет какая цифра стоит после знака ":". Если "1", то ставит в колонку N "4" приоритет. Если >1 но <5 то "3". Если >4 но <20 то "2". Если >19 то "1".

Проблема: Крашится в этом месте: If s = 1 Then Cells(i, 14).Value = "4".
Вопрос: Где ошибка в коде?

Сам код:
Код
Sub priority() ' WORK
' присвоение приоритетов ТТ
Application.ScreenUpdating = False
Columns(14).EntireColumn.Insert 'вставка столбца перед столбцом N
Dim s As String, lLastCol As Long, MyPos, i&, b
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = lLastRow To 2 Step -1
        MyPos = InStr(1, Cells(i, 13), ":", vbTextCompare)
        b = MyPos
        s = Cells(i, 13).Value
        s = Right(s, (Len(s) - b))
        If s = 1 Then Cells(i, 14).Value = "4"
        If s > 1 And s < 5 Then Cells(i, 14).Value = "3"
        If s > 4 And s < 20 Then Cells(i, 14).Value = "2"
        If s > 19 Then Cells(i, 14).Value = "1"
        Next i
        Range("N1").Select
    ActiveCell.FormulaR1C1 = "Priority" ' переименование столбца "N" 
End Sub






Файл прилагаю.
Изменено: Толстяк3 - 29.08.2017 08:23:55
Копирование дубликатов по листам, Макрос который переносит дубликаты на другой лист
 
Благодарю всех за помощь. То что нужно!
Копирование дубликатов по листам, Макрос который переносит дубликаты на другой лист
 
Добрый день. Нужен макрос, который дубликаты по столбу CASE_ID скопирует на другой лист следующим образом: Двойные на первый лист, тройные на второй, четверные на третий и т.д. Должно получится как в примере
Страницы: 1
Наверх