Добрый день,
У меня другая проблема, связанная с оператором IF.
У меня следующий код:
Sub BOMNewRow()
If Range("D38").Value <> "" Or Range("C38") <> "x" Or Range("C38") <> "0" Then
'Inserting new Core Drill row + formula autofill from the previous one
Range("A38").EntireRow.Insert
Range("A38").Value = "First Core drill into building or existing chamber (per event)"
Range("B38").Value = "Sitec"
If Range("D39").Value Like "*2*" Or Range("C39").Value = 2 Then
Range("C38").Value = 2
Else
Range("C38").Value = 1
End If
Range("E38").Value = 100.39
Range("F37").Select
Selection.AutoFill Destination:=Range("F37:F38"), Type:=xlFillDefault
'customizing new row
With Range("A38:B38,D38:F38")
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).Weight = xlThin
End With
With Range("C38")
.Borders(xlEdgeBottom).Weight = xlMedium
End With
Else
Call AuditCheck 'go straight away to the BoM audit control
'Taking a look on one of the audit cell
End If
If Range("C39").Value <> "x" Or Range("C39").Value <> "0" Then
Range("C39").Value = "x"
Range("D38").Value = Range("D39")
Call New_version2
Sheets("BoM").Activate
Else
Call AuditCheck
End If
Range("A43").Select
End Sub
Я собираюсь сделать следующее:
- вставьте новую строку 38 и настройте ее - это делается моим первым оператором IF.
- запустить второй оператор IF на основе ячейки C39, который не работает.
Если раньше у меня было значение X в ячейке C38, теперь, когда я вставляю новую строку, второй оператор IF по-прежнему выполняет процесс для значения C39, которым является X. введите описание изображения здесь .
Похоже, я не понимаю порядок операторов if в макросе.
Как я могу решить эту проблему?