Вставка / удаление строк
Starbirst
Дата: Четверг, 25.04.2019, 12:56 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
Доброго времени суток! Ребята, помогите, пожалуйста, с макросами. Имеется табличка с 4 столбцами. Имеется три кнопки: вставка строки выше выделенной, вставка строки ниже выделенной и удаление выделенной строки. Первые две кнопки вставляют пустые строки, при этом значение в столбе А равно значению предыдущей ячейки, а ячейки B, C, D вставляются пустыми. При удалении строки выводится UserForm (не MsgBox) о том, что строка удаляется, восстановить данные невозможно. С макросами мало работаю. Спасибо!
Доброго времени суток! Ребята, помогите, пожалуйста, с макросами. Имеется табличка с 4 столбцами. Имеется три кнопки: вставка строки выше выделенной, вставка строки ниже выделенной и удаление выделенной строки. Первые две кнопки вставляют пустые строки, при этом значение в столбе А равно значению предыдущей ячейки, а ячейки B, C, D вставляются пустыми. При удалении строки выводится UserForm (не MsgBox) о том, что строка удаляется, восстановить данные невозможно. С макросами мало работаю. Спасибо! Starbirst
К сообщению приложен файл:
-_.xlsm
(13.8 Kb)
Сообщение отредактировал Starbirst - Четверг, 25.04.2019, 12:56
Ответить
Сообщение Доброго времени суток! Ребята, помогите, пожалуйста, с макросами. Имеется табличка с 4 столбцами. Имеется три кнопки: вставка строки выше выделенной, вставка строки ниже выделенной и удаление выделенной строки. Первые две кнопки вставляют пустые строки, при этом значение в столбе А равно значению предыдущей ячейки, а ячейки B, C, D вставляются пустыми. При удалении строки выводится UserForm (не MsgBox) о том, что строка удаляется, восстановить данные невозможно. С макросами мало работаю. Спасибо! Автор - Starbirst Дата добавления - 25.04.2019 в 12:56
boa
Дата: Пятница, 26.04.2019, 12:18 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 559
Репутация:
167
±
Замечаний:
0% ±
365
Starbirst, макрорекодером не пробовали записать?
Starbirst, макрорекодером не пробовали записать? boa
Ответить
Сообщение Starbirst, макрорекодером не пробовали записать? Автор - boa Дата добавления - 26.04.2019 в 12:18
Starbirst
Дата: Пятница, 26.04.2019, 12:28 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
boa, не получается копировать ячейку А в новую строку.
boa, не получается копировать ячейку А в новую строку. Starbirst
Сообщение отредактировал Starbirst - Пятница, 26.04.2019, 12:31
Ответить
Сообщение boa, не получается копировать ячейку А в новую строку. Автор - Starbirst Дата добавления - 26.04.2019 в 12:28
InExSu
Дата: Пятница, 26.04.2019, 21:15 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет! [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() Selection.EntireRow.Insert End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Selection.EntireRow.Offset(1, 0).Insert End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub
[/vba]
Привет! [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() Selection.EntireRow.Insert End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Selection.EntireRow.Offset(1, 0).Insert End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub
[/vba] InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет! [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() Selection.EntireRow.Insert End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Selection.EntireRow.Offset(1, 0).Insert End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub
[/vba] Автор - InExSu Дата добавления - 26.04.2019 в 21:15
Starbirst
Дата: Воскресенье, 28.04.2019, 08:05 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
InExSu, огромная благодарность! Можете подправить код макроса таким образом, чтобы при добавлении строк сохранялся столбец A (цвет текста желательно, чтобы был прежний серый)?
InExSu, огромная благодарность! Можете подправить код макроса таким образом, чтобы при добавлении строк сохранялся столбец A (цвет текста желательно, чтобы был прежний серый)? Starbirst
Ответить
Сообщение InExSu, огромная благодарность! Можете подправить код макроса таким образом, чтобы при добавлении строк сохранялся столбец A (цвет текста желательно, чтобы был прежний серый)? Автор - Starbirst Дата добавления - 28.04.2019 в 08:05
Starbirst
Дата: Понедельник, 29.04.2019, 10:21 |
Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
Ребята! Помогите, пожалуйста, доработать макрос, предложенный InExSu. При добавлении строки выше или ниже не сохраняется текст столбца A (желательно сохранить форматирование текста).
Ребята! Помогите, пожалуйста, доработать макрос, предложенный InExSu. При добавлении строки выше или ниже не сохраняется текст столбца A (желательно сохранить форматирование текста). Starbirst
Ответить
Сообщение Ребята! Помогите, пожалуйста, доработать макрос, предложенный InExSu. При добавлении строки выше или ниже не сохраняется текст столбца A (желательно сохранить форматирование текста). Автор - Starbirst Дата добавления - 29.04.2019 в 10:21
K-SerJC
Дата: Понедельник, 29.04.2019, 11:51 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация:
86
±
Замечаний:
0% ±
Excel 2013
пожалуйста, доработать макрос
так? [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() r = ActiveCell.Row Selection.EntireRow.Insert Acopy r + 1, r End Sub Public Sub Кнопка_Строку_Вставить_Ниже() r = ActiveCell.Row Selection.EntireRow.Offset(1, 0).Insert Acopy r, r + 1 End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub Sub Acopy(rSours, rDest) sr = ActiveCell.Address Cells(rSours, 1).Select Selection.Copy Cells(rDest, 1).Select ActiveSheet.Paste Range(sr).Select End Sub
[/vba]
пожалуйста, доработать макрос
так? [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() r = ActiveCell.Row Selection.EntireRow.Insert Acopy r + 1, r End Sub Public Sub Кнопка_Строку_Вставить_Ниже() r = ActiveCell.Row Selection.EntireRow.Offset(1, 0).Insert Acopy r, r + 1 End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub Sub Acopy(rSours, rDest) sr = ActiveCell.Address Cells(rSours, 1).Select Selection.Copy Cells(rDest, 1).Select ActiveSheet.Paste Range(sr).Select End Sub
[/vba]K-SerJC
Благими намерениями выстелена дорога в АД.
Ответить
Сообщение пожалуйста, доработать макрос
так? [vba]Код
Public Sub Кнопка_Строку_Вставить_Выше() r = ActiveCell.Row Selection.EntireRow.Insert Acopy r + 1, r End Sub Public Sub Кнопка_Строку_Вставить_Ниже() r = ActiveCell.Row Selection.EntireRow.Offset(1, 0).Insert Acopy r, r + 1 End Sub Public Sub Кнопка_Строку_Удалить() Selection.EntireRow.Delete End Sub Sub Acopy(rSours, rDest) sr = ActiveCell.Address Cells(rSours, 1).Select Selection.Copy Cells(rDest, 1).Select ActiveSheet.Paste Range(sr).Select End Sub
[/vba]Автор - K-SerJC Дата добавления - 29.04.2019 в 11:51 Ответить
Сообщение K-SerJC, супер, огромная благодарность Автор - Starbirst Дата добавления - 29.04.2019 в 13:22
Starbirst
Дата: Среда, 01.05.2019, 17:36 |
Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
K-SerJC, можете подкорректировать код макроса таким образом, чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2?
K-SerJC, можете подкорректировать код макроса таким образом, чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2? Starbirst
Ответить
Сообщение K-SerJC, можете подкорректировать код макроса таким образом, чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2? Автор - Starbirst Дата добавления - 01.05.2019 в 17:36
InExSu
Дата: Среда, 01.05.2019, 20:23 |
Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет! чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2?
Вставьте в начало нужных функций код: [vba]Код
With ActiveCell If .Row = 1 Or .Row = 2 Then Exit Function End With
[/vba]
Привет! чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2?
Вставьте в начало нужных функций код: [vba]Код
With ActiveCell If .Row = 1 Or .Row = 2 Then Exit Function End With
[/vba] InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет! чтобы удаление и вставка строк не происходила, если курсор находится в строках 1 и 2?
Вставьте в начало нужных функций код: [vba]Код
With ActiveCell If .Row = 1 Or .Row = 2 Then Exit Function End With
[/vba] Автор - InExSu Дата добавления - 01.05.2019 в 20:23
Starbirst
Дата: Среда, 01.05.2019, 21:23 |
Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
InExSu, пожскажите, пожалуйста, как применить Function?
InExSu, пожскажите, пожалуйста, как применить Function? Starbirst
Сообщение отредактировал Starbirst - Среда, 01.05.2019, 22:02
Ответить
Сообщение InExSu, пожскажите, пожалуйста, как применить Function? Автор - Starbirst Дата добавления - 01.05.2019 в 21:23
InExSu
Дата: Среда, 01.05.2019, 22:07 |
Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет!
[vba]
Код
Option Explicit Public Sub Кнопка_Строку_Вставить_Выше() Строка_1_или_2 ActiveCell With Selection .EntireRow.Insert Cells(.Row, 1).Copy Cells(.Row - 1, 1) End With End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell With Selection .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub Public Sub Кнопка_Строку_Удалить() Строка_1_или_2 ActiveCell Selection.EntireRow.Delete End Sub Public Function Строка_1_или_2(ByVal cell As Range) _ As Boolean With cell If .Row = 1 Or .Row = 2 Then End End With End Function
[/vba]
Привет!
[vba]
Код
Option Explicit Public Sub Кнопка_Строку_Вставить_Выше() Строка_1_или_2 ActiveCell With Selection .EntireRow.Insert Cells(.Row, 1).Copy Cells(.Row - 1, 1) End With End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell With Selection .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub Public Sub Кнопка_Строку_Удалить() Строка_1_или_2 ActiveCell Selection.EntireRow.Delete End Sub Public Function Строка_1_или_2(ByVal cell As Range) _ As Boolean With cell If .Row = 1 Or .Row = 2 Then End End With End Function
[/vba]
InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Сообщение отредактировал InExSu - Среда, 01.05.2019, 22:37
Ответить
Сообщение Привет!
[vba]
Код
Option Explicit Public Sub Кнопка_Строку_Вставить_Выше() Строка_1_или_2 ActiveCell With Selection .EntireRow.Insert Cells(.Row, 1).Copy Cells(.Row - 1, 1) End With End Sub Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell With Selection .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub Public Sub Кнопка_Строку_Удалить() Строка_1_или_2 ActiveCell Selection.EntireRow.Delete End Sub Public Function Строка_1_или_2(ByVal cell As Range) _ As Boolean With cell If .Row = 1 Or .Row = 2 Then End End With End Function
[/vba]
Автор - InExSu Дата добавления - 01.05.2019 в 22:07
Starbirst
Дата: Среда, 01.05.2019, 22:21 |
Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
InExSu, огромная благодарность! На удаление 1 и 2 строки блокировка не срабатывает. "Строка_1_или_2 ActiveCell" перед "Selection.EntireRow.Delete" так же как добавление строк правильно будет? Как быть, если Function необходимо применить например к строкам с 1 по 4? Попробовал заменить If .Row = 1 Or .Row = 2 Then End"на "If .Row = 1 Or .Row = 2 Or .Row = 3 Or .Row = 4 Then End" - сработало. Так правильно?
InExSu, огромная благодарность! На удаление 1 и 2 строки блокировка не срабатывает. "Строка_1_или_2 ActiveCell" перед "Selection.EntireRow.Delete" так же как добавление строк правильно будет? Как быть, если Function необходимо применить например к строкам с 1 по 4? Попробовал заменить If .Row = 1 Or .Row = 2 Then End"на "If .Row = 1 Or .Row = 2 Or .Row = 3 Or .Row = 4 Then End" - сработало. Так правильно? Starbirst
Сообщение отредактировал Starbirst - Среда, 01.05.2019, 22:50
Ответить
Сообщение InExSu, огромная благодарность! На удаление 1 и 2 строки блокировка не срабатывает. "Строка_1_или_2 ActiveCell" перед "Selection.EntireRow.Delete" так же как добавление строк правильно будет? Как быть, если Function необходимо применить например к строкам с 1 по 4? Попробовал заменить If .Row = 1 Or .Row = 2 Then End"на "If .Row = 1 Or .Row = 2 Or .Row = 3 Or .Row = 4 Then End" - сработало. Так правильно? Автор - Starbirst Дата добавления - 01.05.2019 в 22:21
InExSu
Дата: Среда, 01.05.2019, 22:39 |
Сообщение № 14
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
На удаление 1 и 2 строки блокировка не срабатывает
Исправил сообщение 12Function необходимо применить например к строкам с 1 по 4
Не понял. Function должна иметь имя.
На удаление 1 и 2 строки блокировка не срабатывает
Исправил сообщение 12Function необходимо применить например к строкам с 1 по 4
Не понял. Function должна иметь имя.InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение На удаление 1 и 2 строки блокировка не срабатывает
Исправил сообщение 12Function необходимо применить например к строкам с 1 по 4
Не понял. Function должна иметь имя.Автор - InExSu Дата добавления - 01.05.2019 в 22:39
Starbirst
Дата: Среда, 01.05.2019, 22:56 |
Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
InExSu, как правильно применить Function к строкам с 1 по 4, чтобы код макроса не мог к ним применяться?
InExSu, как правильно применить Function к строкам с 1 по 4, чтобы код макроса не мог к ним применяться? Starbirst
Ответить
Сообщение InExSu, как правильно применить Function к строкам с 1 по 4, чтобы код макроса не мог к ним применяться? Автор - Starbirst Дата добавления - 01.05.2019 в 22:56
InExSu
Дата: Среда, 01.05.2019, 23:03 |
Сообщение № 16
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
применить Function к строкам с 1 по 4
Надеюсь вы пишите про Function Строка_1_или_2. Замените в коде: [vba][/vba] на [vba][/vba] [vba][/vba] на [vba][/vba]
применить Function к строкам с 1 по 4
Надеюсь вы пишите про Function Строка_1_или_2. Замените в коде: [vba][/vba] на [vba][/vba] [vba][/vba] на [vba][/vba]InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение применить Function к строкам с 1 по 4
Надеюсь вы пишите про Function Строка_1_или_2. Замените в коде: [vba][/vba] на [vba][/vba] [vba][/vba] на [vba][/vba]Автор - InExSu Дата добавления - 01.05.2019 в 23:03
Starbirst
Дата: Четверг, 02.05.2019, 12:03 |
Сообщение № 17
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
.Row = 1 Or .Row = 2 пробовал заменить на Rows ("1:4") - не срабатывало. Вы мне очень помогли. Благодарю, InExSu.
.Row = 1 Or .Row = 2 пробовал заменить на Rows ("1:4") - не срабатывало. Вы мне очень помогли. Благодарю, InExSu. Starbirst
Ответить
Сообщение .Row = 1 Or .Row = 2 пробовал заменить на Rows ("1:4") - не срабатывало. Вы мне очень помогли. Благодарю, InExSu. Автор - Starbirst Дата добавления - 02.05.2019 в 12:03
Starbirst
Дата: Четверг, 02.05.2019, 17:14 |
Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
InExSu, помогите, пожалуйста, доусовершенствовать предложенный вами код на вставку строк. После 5 строки цвет шрифта черный, желательно чтобы всегда оставался серый.
InExSu, помогите, пожалуйста, доусовершенствовать предложенный вами код на вставку строк. После 5 строки цвет шрифта черный, желательно чтобы всегда оставался серый. Starbirst
Ответить
Сообщение InExSu, помогите, пожалуйста, доусовершенствовать предложенный вами код на вставку строк. После 5 строки цвет шрифта черный, желательно чтобы всегда оставался серый. Автор - Starbirst Дата добавления - 02.05.2019 в 17:14
InExSu
Дата: Четверг, 02.05.2019, 18:09 |
Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет!цвет шрифта черный, желательно чтобы всегда оставался серый
Замените [vba]Код
Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell Dim r As Range Set r = Selection With r .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub
[/vba]
Привет!цвет шрифта черный, желательно чтобы всегда оставался серый
Замените [vba]Код
Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell Dim r As Range Set r = Selection With r .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub
[/vba] InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Ответить
Сообщение Привет!цвет шрифта черный, желательно чтобы всегда оставался серый
Замените [vba]Код
Public Sub Кнопка_Строку_Вставить_Ниже() Строка_1_или_2 ActiveCell Dim r As Range Set r = Selection With r .EntireRow.Offset(1, 0).Insert Cells(.Row, 1).Copy Cells(.Row + 1, 1) End With End Sub
[/vba] Автор - InExSu Дата добавления - 02.05.2019 в 18:09
Starbirst
Дата: Четверг, 02.05.2019, 18:24 |
Сообщение № 20
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
не срабатывает. Может что не так заменил...
не срабатывает. Может что не так заменил... Starbirst
Ответить
Сообщение не срабатывает. Может что не так заменил... Автор - Starbirst Дата добавления - 02.05.2019 в 18:24