Здравствуйте, глубокоуважаемые профессионалы Excel!
У меня появилась проблемка, но из-за нехватки опыта в работе с VBA, я не могу ее решить. Проблема следующая. Написал макрос (фрагмент приведен ниже), который копирует формулы, записанные в ячейках в диапазоне c BI14:CJ14 и до BI105:CJ105 построчно, на листе с названием «БМ» и вставляет (только значения) в ячейку В14 и так далее до В105. Этот макрос я назначил кнопке, которую расположил на листе «БМ» но при нажатии на нее у меня копируется и вставляется полностью весь массив. Как сделать так чтобы при нажатии кнопки у меня отрабатывалось только первое условие с проверкой всех остальных (см. приведенный код), при нажатии второй раз на кнопку отрабатывалось только второе условие с проверкой всех остальных и т.д.?
Sub Мониторинг()
' Фиксация 0-й строки 0-й недели
If Worksheets("Бм").Range("B14").Value = 0 Then
Worksheets("Бм").Range("BI14:CJ14").Copy
Worksheets("Бм").Range("B14").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
' Фиксация 1-й строки 1-й недели
If Worksheets("Бм").Range("B14").Value = "А" And Worksheets("Бм").Range("B15").Value = 0 Then
Worksheets("Бм").Range("BI15:CJ15").Copy
Worksheets("Бм").Range("B15").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
' Фиксация 2-й строки 1-й недели
If Worksheets("Бм").Range("B15").Value > 0 And Worksheets("Бм").Range("B16").Value = 0 Then
Worksheets("Бм").Range("BI16:CJ16").Copy
Worksheets("Бм").Range("B16").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
.
.
.
.
.
' Фиксация 91-й строки 13-й недели
If Worksheets("Бм").Range("B104").Value > 0 Then
Worksheets("Бм").Range("BI105:CJ105").Copy
Worksheets("Бм").Range("B105").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'копирование массива c 7 по 91 строки, вставка массива в строку А и очистка массива 13-й недели
If Worksheets("Бм").Range("B105").Value > 0 Then
Worksheets("Бм").Range("C21:AC105").Copy
Worksheets("Бм").Range("C14").Paste
Worksheets("Бм").Range("B99:AC105").ClearContents
End If
End Sub