Опишите, что здесь происходит?
Private Sub OptionButton1_Click()
For i = 1 To 10000
Cells(i, 6) = ""
Cells(i, 7) = ""
If Cells(i, 1) = "" Then
n = i - 1
Exit For
End If
Next i
Cells(2, 6) = "Наименование"
Cells(2, 7) = "Годен до"
k = 3
For i = 2 To n
If Cells(i, 4) <> "" Then
Cells(k, 6) = Cells(i, 1)
Cells(k, 7) = Cells(i, 4)
k = k + 1
End If
Next i
End Sub
При нажатии на кнопку запускается цикл, который заполняет таблицу.
Объяснение:
Цикл поочередно в каждой строке, начиная с первой, очищает ячейки в столбцах 6 и 7 и при этом проверяет заполнение столбца 1.
Если ячейка проверяемой строки столбца 1 не заполнена то переменной n присваивается значение № проверяемой строки - 1.
Цикл завершится, когда дойдет до десятитысячной строки.
Ячеки строки 2 столбцов 6 и 7 заполняются текстом Наименование и Годен до.
переменной k присваивается значение 3
Далее запускается следующий цикл.
В нем проверяется каждая ячейка, в 4 столбце начиная со второй строки. Если ячейка пустая, то ячейке начиная с третьей строки в шестом столбце присваивается значение ячейки проверяемой циклом строки в первом столбце. Ячейке, начиная с третьей строки в седьмом столбце присваивается значение ячейки проверяемой циклом строки в четвертом столбце.
В целом это какой-то бред, функционал которого не ясен.