Давай обновим наш код, с учётом того что после столбца названия системы у нас появился новый столбец который мы не заполняем

Private Const FLORA_NAME_COLUMN As String = "A"


Private Sub btnOpenSectorForm_Click()
    ' Открываем UserForm2 для выбора сектора
    UserForm2.Show
End Sub


Private Sub UserForm_Initialize()
    txtQuantity.Visible = False ' Скрываем поле ввода количества при инициализации формы
    LoadFloraNames
End Sub

Private Sub LoadFloraNames()
    Dim ws As Worksheet
    Dim cell As Range
    Dim lastRow As Range

    On Error GoTo ErrorHandler
    Set ws = ThisWorkbook.Worksheets("Сводка")
    On Error GoTo 0

    If ws Is Nothing Then
        MsgBox "Лист 'Сводка' не найден.", vbExclamation
        Exit Sub
    End If

    Me.lstFlora.Clear
    Set lastRow = ws.Cells(ws.Rows.Count, FLORA_NAME_COLUMN).End(xlUp).Offset(1, 0)

    For Each cell In ws.Range(ws.Cells(1, FLORA_NAME_COLUMN), lastRow.Offset(-1, 0))
        If cell.Value <> "" Then
            Me.lstFlora.AddItem cell.Value
        End If
    Next cell

    Exit Sub

ErrorHandler:
    MsgBox "Ошибка при загрузке названий флоры: " & Err.Description, vbCritical
End Sub

Private Sub btnSubmit_Click()
    Dim ws As Worksheet
    Dim tbl As ListObject
    Dim lastRow As ListRow
    Dim i As Integer
    Dim selectedFlora As String
    Dim totalCost As Double
    Dim price As Double
    Dim quantity As Integer
    Dim firstStepStatus As String
    Dim successStatus As String
    Dim bonusMultiplier As Double
    Dim colorCellLeft As Range
    Dim colorCellRight As Range
    Dim systemNameColumnIndex As Integer
    Dim totalCostColumnIndex As Integer

    On Error GoTo ErrorHandler
    Set ws = ThisWorkbook.Sheets("Исследования")
    Set tbl = ws.ListObjects("Журнал")

    ' Определим индексы колонок
    systemNameColumnIndex = 1 ' Индекс колонки для названия системы (A)
    totalCostColumnIndex = 6 ' Индекс колонки для стоимости (F)

    If chkMultiple.Value Then
        If IsNumeric(Me.txtQuantity.Value) And Me.txtQuantity.Value > 0 Then
            quantity = CInt(Me.txtQuantity.Value)
        Else
            MsgBox "Введите корректное количество", vbExclamation
            Exit Sub
        End If
    Else
        quantity = 1
    End If

    Set lastRow = tbl.ListRows.Add

    If chkNoPlanet.Value Then
        With lastRow.Range
            .Cells(1, systemNameColumnIndex).Interior.color = RGB(234, 234, 234)
            .Cells(1, systemNameColumnIndex).Value = Me.txtSystemName.Value ' Используем текстовое поле
            .Cells(1, 2).Value = Now
            .Cells(1, 4).Value = "---"
            .Cells(1, 3).Value = "---"
            .Cells(1, 5).Value = "N"
            .Cells(1, totalCostColumnIndex).Value = 0
        End With
    Else
        With lastRow.Range
            .Cells(1, systemNameColumnIndex).Value = Me.txtSystemName.Value ' Используем текстовое поле
            .Cells(1, 2).Value = Now

            selectedFlora = ""
            totalCost = 0
            bonusMultiplier = IIf(chkFirstStep.Value, 5, 1) ' Устанавливаем множитель бонуса
            For i = 0 To lstFlora.ListCount - 1
                If lstFlora.Selected(i) Then
                    Dim j As Integer
                    For j = 1 To quantity
                        If selectedFlora <> "" Then
                            selectedFlora = selectedFlora & vbCrLf
                        End If
                        selectedFlora = selectedFlora & lstFlora.List(i)
                    Next j

                    price = Application.WorksheetFunction.VLookup(lstFlora.List(i), ThisWorkbook.Sheets("Сводка").Range("A:B"), 2, False)
                    totalCost = totalCost + (price * quantity * bonusMultiplier) ' Применяем бонус
                End If
            Next i

            firstStepStatus = IIf(chkFirstStep.Value, "Y", "N")
            .Cells(1, 4).Value = firstStepStatus

            If selectedFlora = "" Then
                .Cells(1, 3).Value = "---"
                successStatus = "N"
            Else
                .Cells(1, 3).Value = selectedFlora
                successStatus = "Y"
            End If

            .Cells(1, 5).Value = successStatus
            .Cells(1, totalCostColumnIndex).Value = totalCost
        End With
    End If

    ' Окрашивание ячеек
    Set colorCellLeft = lastRow.Range.Cells(1, systemNameColumnIndex).Offset(0, -1) ' Ячейка слева от названия системы
    Set colorCellRight = lastRow.Range.Cells(1, totalCostColumnIndex).Offset(0, 1) ' Ячейка справа от столбца стоимости

    ' Проверяем, есть ли ячейки для окраски
    If Not colorCellLeft Is Nothing Then colorCellLeft.Interior.color = RGB(0, 0, 0) ' Чёрный цвет слева
    If Not colorCellRight Is Nothing Then colorCellRight.Interior.color = RGB(0, 0, 0) ' Чёрный цвет справа

    ClearForm
    Unload Me
    Exit Sub

ErrorHandler:
    MsgBox "Ошибка при отправке данных: " & Err.Description, vbCritical
End Sub

Private Sub chkMultiple_Click()
    txtQuantity.Visible = chkMultiple.Value
    If Not chkMultiple.Value Then
        txtQuantity.Value = ""
    End If
End Sub

Private Sub ClearForm()
    Me.txtSystemName.Value = ""  ' Очистка текстового поля
    lstFlora.MultiSelect = False
    For i = 0 To lstFlora.ListCount - 1
        lstFlora.Selected(i) = False
    Next i
    chkFirstStep.Value = False
    txtQuantity.Value = ""
    chkNoPlanet.Value = False
End Sub