Страницы: 1
RSS
[ Закрыто ] сломался макрос - не могу найти ошибку, макрос исправно работает на всех компьютерах, кроме одного - просьба помочь найти или отключить ошибку
 
Проблема такая: макрос начал указывать не верную информацию в столбце 28 на листе "Проплаты" - вместо нужно информации заносит в ячейку такое сообщение: =T(IFERROR(VLOOKUP(--MID(RC[-24],2,SEARCH("_",RC[-24])-2),Отгрузка!R2C5:R23880C40,36,0),""))
Просьба помочь найти ошибку или подсказать как отключить занесение данной информации в таблицу (как временное решение поможет)
Код макроса ниже:
Код
Option Explicit

Sub ПреобразованиеДеловые()
    Dim lrow, mdel_date, motgr_date
        
    With Sheets("Деловые")
        lrow = .Cells(.Rows.Count, 4).End(xlUp).Row
        
        '16
        .Range(.Cells(2, 16), .Cells(lrow, 16)).FormulaR1C1 = "=DATEVALUE(MID(RC[-14],1,10))"
        .Range(.Cells(2, 16), .Cells(lrow, 16)).Value = .Range(.Cells(2, 16), .Cells(lrow, 16)).Value

        '17
        .Range(.Cells(2, 17), .Cells(lrow, 17)).FormulaR1C1 = "=VALUE(RC[-8])"
        .Range(.Cells(2, 17), .Cells(lrow, 17)).Value = .Range(.Cells(2, 17), .Cells(lrow, 17)).Value
        
    End With
    
    mdel_date = WorksheetFunction.Max(Sheets("Деловые").Columns(16))
    motgr_date = WorksheetFunction.Max(Sheets("Отгрузка").Columns(32))
    
    If mdel_date > motgr_date Then
        MsgBox "Добавьте данные во вкладку Отгрузка"
        Exit Sub
    End If
    
    If mdel_date < motgr_date Then
        MsgBox "Добавьте данные во вкладку Деловые"
        Exit Sub
    End If
    

    With Sheets("Проплаты")
        
        lrow = .Cells(.Rows.Count, 4).End(xlUp).Row
        
        '22
        .Range(.Cells(2, 22), .Cells(lrow, 22)).FormulaR1C1 = _
            "=IF(ISNA(LOOKUP(2,1/((Деловые!R2C17:R27319C17=RC[-1])*(Деловые!R2C16:R27319C16=RC[-15])),Деловые!R2C4:R27319C4)),"""",LOOKUP(2,1/((Деловые!R2C17:R27319C17=RC[-1])*(Деловые!R2C16:R27319C16=RC[-15])),Деловые!R2C4:R27319C4))"
        .Range(.Cells(2, 22), .Cells(lrow, 22)).Value = .Range(.Cells(2, 22), .Cells(lrow, 22)).Value
        
        '23
        .Range(.Cells(2, 23), .Cells(lrow, 23)).FormulaR1C1 = _
            "=IF(ISNA(INDEX(Деловые!R2C14:Деловые!R21175C14,MATCH(RC[-1],Деловые!R2C4:Деловые!R21175C4,0),1)),"""",INDEX(Деловые!R2C14:Деловые!R21175C14,MATCH(RC[-1],Деловые!R2C4:Деловые!R21175C4,0),1))"
        .Range(.Cells(2, 23), .Cells(lrow, 23)).Value = .Range(.Cells(2, 23), .Cells(lrow, 23)).Value
        
        '24
        .Range(.Cells(2, 24), .Cells(lrow, 24)).FormulaR1C1 = _
            "=IF(ISNA(INDEX(Деловые!R2C12:Деловые!R21175C12,MATCH(RC[-2],Деловые!R2C4:Деловые!R21175C4,0),1)),"""",INDEX(Деловые!R2C12:Деловые!R21175C12,MATCH(RC[-2],Деловые!R2C4:Деловые!R21175C4,0),1))"
        .Range(.Cells(2, 24), .Cells(lrow, 24)).Value = .Range(.Cells(2, 24), .Cells(lrow, 24)).Value
        
        '25
        .Range(.Cells(2, 25), .Cells(lrow, 25)).FormulaR1C1 = _
            "=IF(ISNA(INDEX(Деловые!R2C11:Деловые!R21175C11,MATCH(RC[-3],Деловые!R2C4:Деловые!R21175C4,0),1)),"""",INDEX(Деловые!R2C11:Деловые!R21175C11,MATCH(RC[-3],Деловые!R2C4:Деловые!R21175C4,0),1))"
        .Range(.Cells(2, 25), .Cells(lrow, 25)).Value = .Range(.Cells(2, 25), .Cells(lrow, 25)).Value
    
    
        '26
        .Range(.Cells(2, 26), .Cells(lrow, 26)).FormulaR1C1 = "=--MID(RC[-22],2,FIND(""_"",RC[-22])-2)"
        .Range(.Cells(2, 26), .Cells(lrow, 26)).Value = .Range(.Cells(2, 26), .Cells(lrow, 26)).Value
        
        
        '27
        .Range(.Cells(2, 27), .Cells(lrow, 27)).FormulaR1C1 = _
            "=IF(ISNA(LOOKUP(2,1/((Отгрузка!R2C41:R28190C41=RC[3])*(Отгрузка!R2C5:R28190C5=RC[-1])),Отгрузка!R2C39:R28190C39)),"""",LOOKUP(2,1/((Отгрузка!R2C41:R28190C41=RC[3])*(Отгрузка!R2C5:R28190C5=RC[-1])),Отгрузка!R2C39:R28190C39))"
        .Range(.Cells(2, 27), .Cells(lrow, 27)).Value = .Range(.Cells(2, 27), .Cells(lrow, 27)).Value
        
        '28   - ВЕРОЯТНО ОШИБКА ЗДЕСЬ
        .Range(.Cells(2, 28), .Cells(lrow, 28)).FormulaR1C1 = _
            "=T(IFERROR(VLOOKUP(--MID(RC[-24],2,SEARCH(""_"",RC[-24])-2),Отгрузка!R2C5:R23880C40,36,0),""""))"
        .Range(.Cells(2, 28), .Cells(lrow, 28)).Value = .Range(.Cells(2, 28), .Cells(lrow, 28)).Value
        
        '29
        .Range(.Cells(2, 29), .Cells(lrow, 29)).FormulaR1C1 = _
            "=IF(ISNA(INDEX(Отгрузка!R2C41:Отгрузка!R21890C41,MATCH(RC[-2],Отгрузка!R2C40:Отгрузка!R21890C39,0),1)),"""",INDEX(Отгрузка!R2C41:Отгрузка!R21890C41,MATCH(RC[-2],Отгрузка!R2C40:Отгрузка!R21890C39,0),1))"
        .Range(.Cells(2, 29), .Cells(lrow, 29)).Value = .Range(.Cells(2, 29), .Cells(lrow, 29)).Value
    
    End With
  
End Sub
 
Сломался вход в правила форума? Там что-то о названии темы написан.
Страницы: 1
Наверх