Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставка строки одним методом после Copy/Cut / 15 сообщений из 15, страница 1 из 1
15.05.2019, 14:24
    #39813558
mr_eas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Добрый день! Ребят, подскажите пожалуйста, что то не соображу:

Создал форму с кнопками Скопировать, Вставить, Вырезать, Удалить.
Функции формы должны работать с целой строкой, а не с отдельными ячейками. В строке есть формулы. Так же нужно предусмотреть copy/cut нескольких строк.
Вставка скопированной/вырезанной строки должна перезаписывать строку, которую выделили мышкой.

Проблема:
После Selection.EntireRow.Copy вставка методом Rows(ActiveCell.Row).PasteSpecial Paste:=xlPasteAll проходит как надо.
Но этот метод не работает для Selection.EntireRow.Cut.
Полагаю надо использовать Insert для вставки вырезанной строки. Или как?

Вопрос: Как вставить скопированную/вырезанную строку без сдвига, а с перезаписью выделенной строки??

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Btn_copy()
    Selection.EntireRow.Copy
End Sub
 
Sub Btn_cut()
    Selection.EntireRow.Cut
End Sub
 
Sub Btn_paste()
 Rows(ActiveCell.Row).PasteSpecial Paste:=xlPasteAll
End Sub
...
Рейтинг: 0 / 0
23.09.2019, 08:07
    #39865377
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Selection.EntireRow - неправильно.
Код: vbnet
1.
2.
3.
4.
5.
Application.CutCopyMode = False
Range("A1").EntireRow.Select
Selection.Cut
Range("A3").EntireRow.Select
ActiveSheet.Paste

+
...
Рейтинг: 0 / 0
23.09.2019, 08:12
    #39865380
ldfanate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
я бы ещё после этого добавил
Код: vbnet
1.
 Application.CutCopyMode = False


чтобы вычистить за собой мусор из буфера обмена. А то мало ли что там останется, персональные данные например...
...
Рейтинг: 0 / 0
23.09.2019, 09:05
    #39865391
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
ldfanate , обычно очистка буфера выполняется на выходе из своего приложения, но никто не запрещает делать это хоть после каждого оператора.

В данном же случае это не имеет смысла - после Cut-Paste буфер очищается автоматически, ибо нельзя один раз Cut и потом два раза Paste.
...
Рейтинг: 0 / 0
23.09.2019, 09:57
    #39865421
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Akina,

можно еще проще:
Код: vbnet
1.
Range("A1").EntireRow.Cut Range("A3")


и с копированием тоже самое:
Код: vbnet
1.
Range("A1").EntireRow.Copy Range("A3")


и вот в случае с копированием такой метод точно не требует очистки буфера, т.к. вычищается автоматом, в отличие от копирования-вставки через Copy и PasteSpecial.
...
Рейтинг: 0 / 0
23.09.2019, 10:04
    #39865427
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
The_Pristможно еще проще:Автору требуется разнести Cut/Copy и Paste в разные процедуры.
...
Рейтинг: 0 / 0
23.09.2019, 10:06
    #39865430
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Впрочем, если одновременно с Cut/Copy запоминать, что именно Cut/Copy, и в процедуре для Paste фактически повторять его - то прокатит.
...
Рейтинг: 0 / 0
23.09.2019, 10:09
    #39865432
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
AkinaАвтору требуетсяавтору требовалось это в мае
...
Рейтинг: 0 / 0
23.09.2019, 10:19
    #39865439
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Shocker.Pro , значит, опять форум развлекается, поднимая древние сообщения и помечая их как новые... это, во всяком случае, точно было помечено как new , так что я влез в него, не глядя на дату.
...
Рейтинг: 0 / 0
23.09.2019, 10:20
    #39865441
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Shocker.Proавтору требовалось это в мае
Нас это опечалит, но не остановит


AkinaCut/Copy и Paste в разные процедуры.Точно, упустил этот момент.
...
Рейтинг: 0 / 0
23.09.2019, 10:51
    #39865468
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
AkinaВпрочем, если одновременно с Cut/Copy запоминать, что именно Cut/Copy, и в процедуре для Paste фактически повторять его - то прокатит.
при таких делах, автору кнопка Undo не помешала бы, на случай, если у пользователя рука дрогнула и cut не тот,
или past не туда.
А так, если Excel не шибко старый, может быть, манипулировать с xml диапазона будет удобнее.
И буфер обмена освободиться.
...
Рейтинг: 0 / 0
23.09.2019, 11:02
    #39865479
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Akina Shocker.Pro , значит, опять форум развлекается, поднимая древние сообщения и помечая их как новые... это, во всяком случае, точно было помечено как new , так что я влез в него, не глядя на дату.Так его спамер поднял. Ты ж вроде сам жмакал "сообщить модератору"
...
Рейтинг: 0 / 0
23.09.2019, 12:05
    #39865519
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Shocker.ProТак его спамер поднял. Ты ж вроде сам жмакал "сообщить модератору"Ну тогда это и вправду косяк форума - отображение new не по дате последнего сообщения, а по дате фактического обновления (файла?) темы, что более чем странно для read-only форума.
...
Рейтинг: 0 / 0
23.09.2019, 12:10
    #39865525
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
AkinaShocker.ProТак его спамер поднял. Ты ж вроде сам жмакал "сообщить модератору"Ну тогда это и вправду косяк форума - отображение new не по дате последнего сообщения, а по дате фактического обновления (файла?) темы, что более чем странно для read-only форума.Да нет же. Когда ты отвечал, сообщения от спамера еще были, поэтому тема была совершенно адекватно с новыми сообщениями и наверху. Вот если бы я удалил сообщения раньше, чем ты зашел на форум, то тема опустилась бы обратно и никакого new не было бы.
...
Рейтинг: 0 / 0
23.09.2019, 12:28
    #39865542
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строки одним методом после Copy/Cut
Ааа... вон оно чё, Михалыч...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставка строки одним методом после Copy/Cut / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]