Всем привет! Ребята! Нужна помощь спеца. Не знаю как в макросе , который должен добавлять строки, прописать следующее: 1. чтобы он позволял вставлять новые строки только в пределах таблицы. То есть, только ниже строки 2 и выше строки 6. 2. имеющийся макрос копирует в новую строку только формулы. А мне нужно, чтобы он копировал и флажок в соответствующую ячейку столбца Е.
Всем привет! Ребята! Нужна помощь спеца. Не знаю как в макросе , который должен добавлять строки, прописать следующее: 1. чтобы он позволял вставлять новые строки только в пределах таблицы. То есть, только ниже строки 2 и выше строки 6. 2. имеющийся макрос копирует в новую строку только формулы. А мне нужно, чтобы он копировал и флажок в соответствующую ячейку столбца Е.Муля2010
с вставкой строк у тебя там загадка, упрости (зачем снизу, сверху?!), вставляй сразу блоком, без циклов (запиши макрос, посмотри код) флажки каждый раз перерисовываются (по форме ячейки) заново и связываются с ней
с вставкой строк у тебя там загадка, упрости (зачем снизу, сверху?!), вставляй сразу блоком, без циклов (запиши макрос, посмотри код) флажки каждый раз перерисовываются (по форме ячейки) заново и связываются с нейСаня
Добрый день ув. аналитика! Вот, протестировал макросы и установил следующие ошибки: Когда ставлю курсор на первой строке , после шапки таблицы и пытаюсь вставить новую строку над этой строкой, то есть, на которой стоит курсор, Ексель выдает системное сообщение об ошибке. После нажатия на кнопке Дебуг ругается вот на этой строке : If Cells(ActiveCell.Row - 3, 1) = "№" Then
Что то похожее происходит и вунизу таблицы. Когда ставлю курсор на строку, которая находится над строкой всего.
А когда ставлю курсор на строку Всего, то: Иногда выдает сообщение , которое записано в макросе, а иногда добавляет то, что вы можете увидеть в файле. С уважением Муля!
Добрый день ув. аналитика! Вот, протестировал макросы и установил следующие ошибки: Когда ставлю курсор на первой строке , после шапки таблицы и пытаюсь вставить новую строку над этой строкой, то есть, на которой стоит курсор, Ексель выдает системное сообщение об ошибке. После нажатия на кнопке Дебуг ругается вот на этой строке : If Cells(ActiveCell.Row - 3, 1) = "№" Then
Что то похожее происходит и вунизу таблицы. Когда ставлю курсор на строку, которая находится над строкой всего.
А когда ставлю курсор на строку Всего, то: Иногда выдает сообщение , которое записано в макросе, а иногда добавляет то, что вы можете увидеть в файле. С уважением Муля!
в коде определяется последняя строка в столбце A - это строка самой последней непустой ячейки в этом столбце, я не мог предугадать, что там появятся магические -1, 0, 1 и 1 стала последней строкой со всеми вытекающими, почему ты переопределил кнопку "Снять все галочки" на перерисовку всех Чекбоксов? повторюсь - переопредели интерфейс - добавление над и под вместе не необходимо, ведет только к бессмысленному усложнению кода... [vba]
Код
Sub UdalitStroky() If MsgBox("Будьте уважні! При натисканні на кнопку Да буде видалений зі списку рядок на якому знаходиться курсор : " & ActiveCell.Value, vbYesNo, "Видалення даних звільнених працівників із відомості зарплати") = vbNo Then GoTo 20 X = ActiveCell.Rows.Row Rows(X).Delete [A15] = 1 For i = 15 To Rows.Count If Cells(i, 3) = "" Then GoTo 10 Next i 10 Range("A15").AutoFill Destination:=Range(Cells(15, 1), Cells(i - 2, 1)), Type:=xlFillSeries 20 End Sub
[/vba] найди отличия [vba]
Код
Sub UdalitStroky() If MsgBox("Будьте уважні! При натисканні на кнопку Да буде видалений зі списку рядок на якому знаходиться курсор : " & ActiveCell.Value, vbYesNo, "Видалення даних звільнених працівників із відомості зарплати") = vbNo Then exit sub ActiveCell.EntireRow.Delete
[A15] = 1 'этот кусок очень настораживает, не по смыслу (это вообще загадка), а по исполнению For i = 15 To Rows.Count If Cells(i, 3) = "" Then exit for Next i
Range("A15").AutoFill Destination:=Range(Cells(15, 1), Cells(i - 2, 1)), Type:=xlFillSeries End Sub
[/vba] не используй GoTo, это претит структурному программированию
в коде определяется последняя строка в столбце A - это строка самой последней непустой ячейки в этом столбце, я не мог предугадать, что там появятся магические -1, 0, 1 и 1 стала последней строкой со всеми вытекающими, почему ты переопределил кнопку "Снять все галочки" на перерисовку всех Чекбоксов? повторюсь - переопредели интерфейс - добавление над и под вместе не необходимо, ведет только к бессмысленному усложнению кода... [vba]
Код
Sub UdalitStroky() If MsgBox("Будьте уважні! При натисканні на кнопку Да буде видалений зі списку рядок на якому знаходиться курсор : " & ActiveCell.Value, vbYesNo, "Видалення даних звільнених працівників із відомості зарплати") = vbNo Then GoTo 20 X = ActiveCell.Rows.Row Rows(X).Delete [A15] = 1 For i = 15 To Rows.Count If Cells(i, 3) = "" Then GoTo 10 Next i 10 Range("A15").AutoFill Destination:=Range(Cells(15, 1), Cells(i - 2, 1)), Type:=xlFillSeries 20 End Sub
[/vba] найди отличия [vba]
Код
Sub UdalitStroky() If MsgBox("Будьте уважні! При натисканні на кнопку Да буде видалений зі списку рядок на якому знаходиться курсор : " & ActiveCell.Value, vbYesNo, "Видалення даних звільнених працівників із відомості зарплати") = vbNo Then exit sub ActiveCell.EntireRow.Delete
[A15] = 1 'этот кусок очень настораживает, не по смыслу (это вообще загадка), а по исполнению For i = 15 To Rows.Count If Cells(i, 3) = "" Then exit for Next i
Range("A15").AutoFill Destination:=Range(Cells(15, 1), Cells(i - 2, 1)), Type:=xlFillSeries End Sub
[/vba] не используй GoTo, это претит структурному программированиюСаня
повторюсь - переопредели интерфейс - добавление над и под вместе не необходимо, ведет только к бессмысленному усложнению кода.
Quote (аналитика)
[A15] = 1 'этот кусок очень настораживает, не по смыслу (это вообще загадка), а по исполнению
Знаю, что вас это сильно расстроит ув. аналитика, но признаюсь честно.Эти коды, я нашел на форумах и, вроди как, прспособил их для своих нужд. И в другом месте, даные макросы, работают нормально. А вот здесь из-за чекбоксов – сильно спотыкаются. Но потому как большими знаниями ВБА пофастаться не могу, то и доказывать вам обратное не стану. Наверняка вы правы! И любое ваше профессиональное решение, будет для меня приемлимым. Но сделать иначе у меня пока не получается. Отсюда,довести его до рабочего состояния - мне весьма затруднительно. Спасибо вам за помощь!
Доброго и радостного вам всем дня!
Quote (аналитика)
повторюсь - переопредели интерфейс - добавление над и под вместе не необходимо, ведет только к бессмысленному усложнению кода.
Quote (аналитика)
[A15] = 1 'этот кусок очень настораживает, не по смыслу (это вообще загадка), а по исполнению
Знаю, что вас это сильно расстроит ув. аналитика, но признаюсь честно.Эти коды, я нашел на форумах и, вроди как, прспособил их для своих нужд. И в другом месте, даные макросы, работают нормально. А вот здесь из-за чекбоксов – сильно спотыкаются. Но потому как большими знаниями ВБА пофастаться не могу, то и доказывать вам обратное не стану. Наверняка вы правы! И любое ваше профессиональное решение, будет для меня приемлимым. Но сделать иначе у меня пока не получается. Отсюда,довести его до рабочего состояния - мне весьма затруднительно. Спасибо вам за помощь!