Доброго времени суток форумчане! Опыта написания макросов крайне мало, по этому прошу помощи у Вас.
Имею простую задачу по записи формул в столбец по нажатию кнопки и блокированию повторного нажатия данной кнопки. С записью формул справился при помощи быдлокода, а вот с блокированием повторного нажатия не смог, да и вносить отдельный макрос на каждую кнопку не очень правильно, всего создано 63.кнопки (по 2 на каждый день месяца и 1 на запись изначальных формул в конце месяца).
Может есть решение по созданию одного макроса с последовательной записью в обозначенные столбцы?
Файл сильно урезан - по объёму не проходил.
Имею простую задачу по записи формул в столбец по нажатию кнопки и блокированию повторного нажатия данной кнопки. С записью формул справился при помощи быдлокода, а вот с блокированием повторного нажатия не смог, да и вносить отдельный макрос на каждую кнопку не очень правильно, всего создано 63.кнопки (по 2 на каждый день месяца и 1 на запись изначальных формул в конце месяца).
| Код |
|---|
Sub zam02() 'первая запись в столбец
Range("h6:h178").FormulaLocal = "=СУММЕСЛИ('Остатки цеха ЗАМ'!E:E;B:B;'Остатки цеха ЗАМ'!F:F)++СУММЕСЛИ('Задание для обвалки'!A:A;B:B;'Задание для обвалки'!D:D)"
End Sub
Sub sgp02() 'вторая запись в столбец
Range("h6:h178").FormulaLocal = "=СУММЕСЛИ('Приходы на СГП'!E:E;B:B;'Приходы на СГП'!F:F)"
End Sub
Sub otchistka() ' сброс всех формул в конце месяца
' объявляем переменные
Dim UserEntry As Variant
Dim Msg As String
Dim NextRow As Long
Const Pass1 As Integer = 2563
' запрашиваем пароль
Msg = "Введите пароль."
Do ' сверяем пароль
UserEntry = InputBox(Msg)
If UserEntry = "" Then Exit Sub
If IsNumeric(UserEntry) Then
If UserEntry = Pass1 Then Exit Do
End If
Msg = "НЕ ВЕРНЫЙ ПАРОЛЬ."
Msg = Msg & vbNewLine
Msg = Msg & "Введите пароль."
Loop
Range("e6:e178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!c:c)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!d:d)"
Range("h6:h178").FormulaLocal = "=ЕСЛИ(ЕПУСТО(F4);СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!E:E)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!F:F)+СУММЕСЛИ('Задание для обвалки'!A:A;B:B;'Задание для обвалки'!E:E);F4)"
Range("k6:k178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!e:e)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!f:f)"
Range("n6:n178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!f:f)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!g:g)"
Range("q6:q178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!g:g)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!h:h)"
Range("t6:t178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!h:h)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!i:i)"
Range("w6:w178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!i:i)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!j:j)"
Range("z6:z178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!j:j)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!k:k)"
Range("ac6:ac178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!k:k)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!l:l)"
Range("af6:af178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!l:l)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!m:m)"
Range("ai6:ai178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!m:m)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!n:n)"
Range("al6:al178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!n:n)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!o:o)"
Range("ao6:ao178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!o:o)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!p:p)"
Range("ar6:ar178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!p:p)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!q:q)"
Range("au6:au178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!q:q)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!r:r)"
Range("ax6:ax178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!r:r)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!s:s)"
Range("ba6:ba178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!s:s)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!t:t)"
Range("bd6:bd178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!t:t)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!u:u)"
Range("bg6:bg178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!u:u)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!v:v)"
Range("bj6:bj178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!v:v)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!w:w)"
Range("bm6:bm178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!w:w)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!x:x)"
Range("bp6:bp178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!x:x)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!y:y)"
Range("bs6:bs178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!y:y)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!z:z)"
Range("bv6:bv178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!z:z)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!Aa:Aa)"
Range("by6:by178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AA:AA)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!Ab:Ab)"
Range("cb6:cb178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AB:AB)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!Ac:Ac)"
Range("ce6:ce178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AC:AC)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!AD:AD)"
Range("ch6:ch178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AD:AD)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!AE:AE)"
Range("ck6:ck178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AE:AE)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!AF:AF)"
Range("cn6:cn178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AF:AF)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!AG:AG)"
Range("cq6:cq178").FormulaLocal = "=СУММЕСЛИ('план по убою'!A:A;B:B;'план по убою'!AG:AG)+СУММЕСЛИ('план на обвалку'!A:A;B:B;'план на обвалку'!AH:AH)"
End Sub
|
Файл сильно урезан - по объёму не проходил.
Изменено: - 06.08.2018 10:06:42