добрый вечер уважаемые! целый день парюсь над 2 задачками, в общем в юзерформе при клике на кнопку "ввести текст" в колонку "AI" добавляются по порядку в увеличении цифры, но при удалении не конечной цифры у меня теряется последовательность, то есть при добавлении 5 столбцов отображаются в колонке 12345 но при удалении 3 столбца значения становятся 1245 а надо 1234, надеюсь понятно выразился... и при том, когда остается последняя строка при нажатии на SpinButton1_SpinUp у меня перепрыгивает на последнюю ячейку "AI1048576", надо чтобы строка "AI44" была активна и не прыгала на последнюю ячейку. Буду очень признателен, не хотел обращаться лишний раз весь день парился, но знаю что мне тут помогут)) чем примитивнее код тем лучше)
добрый вечер уважаемые! целый день парюсь над 2 задачками, в общем в юзерформе при клике на кнопку "ввести текст" в колонку "AI" добавляются по порядку в увеличении цифры, но при удалении не конечной цифры у меня теряется последовательность, то есть при добавлении 5 столбцов отображаются в колонке 12345 но при удалении 3 столбца значения становятся 1245 а надо 1234, надеюсь понятно выразился... и при том, когда остается последняя строка при нажатии на SpinButton1_SpinUp у меня перепрыгивает на последнюю ячейку "AI1048576", надо чтобы строка "AI44" была активна и не прыгала на последнюю ячейку. Буду очень признателен, не хотел обращаться лишний раз весь день парился, но знаю что мне тут помогут)) чем примитивнее код тем лучше)85Muslim85
85Muslim85, перенумеровать строчки можно так:[vba]
Код
Sub number_row() lr = Cells(Rows.Count, 35).End(xlUp).Row num = 1 For i = 44 To lr Cells(i, 35) = num num = num + 1 Next i End Sub
[/vba] И потом, после удаления строки вызвать этот макрос[vba]
Код
Private Sub CommandButton9_Click() Selection.EntireRow.Delete number_row 'перенумеровываем TextBox2.Value = ActiveCell If TextBox2.Value = "" Then ActiveCell.Offset(-1, 0).Select If Range("ai45") = "" Then CommandButton9.Enabled = False End Sub
[/vba] Выделение последней ячейки при нажатии на SpinButton1_SpinUp:[vba]
Код
If ActiveCell.Value = "" Then Range("ai" & Cells(Rows.Count, 35).End(xlUp).Row).Select
[/vba]
85Muslim85, перенумеровать строчки можно так:[vba]
Код
Sub number_row() lr = Cells(Rows.Count, 35).End(xlUp).Row num = 1 For i = 44 To lr Cells(i, 35) = num num = num + 1 Next i End Sub
[/vba] И потом, после удаления строки вызвать этот макрос[vba]
Код
Private Sub CommandButton9_Click() Selection.EntireRow.Delete number_row 'перенумеровываем TextBox2.Value = ActiveCell If TextBox2.Value = "" Then ActiveCell.Offset(-1, 0).Select If Range("ai45") = "" Then CommandButton9.Enabled = False End Sub
[/vba] Выделение последней ячейки при нажатии на SpinButton1_SpinUp:[vba]
Код
If ActiveCell.Value = "" Then Range("ai" & Cells(Rows.Count, 35).End(xlUp).Row).Select
во вложенном вами файле ошибку выдает при удалении столбца((( высвечивается тут Sub number_row() я вот не понял этот саб к чему у нас относится?
во вложенном вами файле ошибку выдает при удалении столбца((( высвечивается тут Sub number_row() я вот не понял этот саб к чему у нас относится?85Muslim85
85Muslim85, эта аксессовский календарик (кстати из Вашего первого файла). Если на других компах стоит 2007 офис вместе с аксессом, или хотя бы с библиотекой mscal.dll (аксессовская), то будет работать. Если в файле Вы не будете использовать этот календарь, то после его отключения (как посоветовал KuklP) и сохранения файла, она не должна появится.
85Muslim85, эта аксессовский календарик (кстати из Вашего первого файла). Если на других компах стоит 2007 офис вместе с аксессом, или хотя бы с библиотекой mscal.dll (аксессовская), то будет работать. Если в файле Вы не будете использовать этот календарь, то после его отключения (как посоветовал KuklP) и сохранения файла, она не должна появится.Manyasha