|
Как сделать спец вставку ?
|
|
|
|
mpa |
Вторник, 08 Июля 2008, 16:55
|
Участник
Профиль
Группа: Участник
Сообщений: 1786
Регистрация: 11.06.2002
Пользователь №: 2401
Конфигурация
Корпус: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: Нет дисковода CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Короче, человек сидит, постоянно копирует и постоянно делает "Спец вставка, Вставить значение". Очень просит реализовать это или кнопкой на панельке Екселя, а еще лучше чтобы можно было на кнопку мыши это подать. Подскажите плиз. Спасибо.
|
|
|
|
|
Барэль |
Вторник, 08 Июля 2008, 22:08
|
Впередсмотрящий
Профиль
Группа: WinCity Team
Сообщений: 6383
Регистрация: 08.11.2001
Из: Санкт-Петербург, Россия
Пользователь №: 633
Конфигурация
Корпус: CM Centurion 534 + 850W Zalman Процессор: Другой Материнская плата: ASUS M4A79XTD EVO Оперативная память: Samsung - 2x2048 Mb DDR3 PC10600 Видеокарта: 1024 Mb Asus Radeon HD5770 Жесткий диск (винчестер): 250 Gb Seagate SATA (системный) + 2 Tb Seagate LP SATA + 2 Tb Seagate LP SATA Дисковод: 3.5" CD/DVD: Nec 4570 DVD+-RW Модем: -- Сетевой адаптер: OnBoard Звуковая плата: OnBoard Монитор: 22 Samsung SyncMaster P2250 Операционная система: Windows XP Прочее: Акустическая система Microlab Solo 1, UPS APC CS500, МФУ Canon MP800, Cooler CoolerMaster (CM) V8, Процессор AMD Phenom II 945
|
Наверное как-то через макрос надо. Я сейчас попробовал записать макрос, в ячейке K13 находится выражение значение которого копирую в ячейку G18: Код Sub Макрос3() ' ' Макрос3 Макрос ' Макрос записан 08.07.2008 (User) ' ' Сочетание клавиш: Ctrl+y ' Range("K13").Select Selection.Copy Range("G18").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
--------------------
Вот. Винда проставилась. И даже уже BSOD выдала. Значит, работает! На всякий случай, воспользуйтесь поиском
|
|
|
|
|
xls |
Среда, 09 Июля 2008, 10:21
|
Участник
Профиль
Группа: Участник
Сообщений: 34
Регистрация: 08.09.2004
Пользователь №: 7317
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Лучше сделать так:
Sub PasteSpecial() ' On Error GoTo Ex Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Ex: End Sub
Назначить кнопку этому макросу можно и на панели инстументов через настройку, но лучше в пайле через панель ФОРМЫ. Этот макрос будет вставлять значение скопированное в буфер обмена в любом указанном месте , но отменить вставку будет невозможно...
|
|
|
|
|
Барэль |
Среда, 09 Июля 2008, 22:42
|
Впередсмотрящий
Профиль
Группа: WinCity Team
Сообщений: 6383
Регистрация: 08.11.2001
Из: Санкт-Петербург, Россия
Пользователь №: 633
Конфигурация
Корпус: CM Centurion 534 + 850W Zalman Процессор: Другой Материнская плата: ASUS M4A79XTD EVO Оперативная память: Samsung - 2x2048 Mb DDR3 PC10600 Видеокарта: 1024 Mb Asus Radeon HD5770 Жесткий диск (винчестер): 250 Gb Seagate SATA (системный) + 2 Tb Seagate LP SATA + 2 Tb Seagate LP SATA Дисковод: 3.5" CD/DVD: Nec 4570 DVD+-RW Модем: -- Сетевой адаптер: OnBoard Звуковая плата: OnBoard Монитор: 22 Samsung SyncMaster P2250 Операционная система: Windows XP Прочее: Акустическая система Microlab Solo 1, UPS APC CS500, МФУ Canon MP800, Cooler CoolerMaster (CM) V8, Процессор AMD Phenom II 945
|
А разве не нужно сперва выполнить выделение ячейки перед тем как выполнять процедуру Selection.PasteSpecial Paste
Добавлено Барэль, Метод PasteSpecial
Чтобы вставить диапазон или другой объект из Буфера обмена, используется метод PasteSpecial. Данный метод идентичен команде Правка | Специальная вставка (Edit | Paste Special). Синтаксис метода PasteSpecial является следующим.
Range_object.PasteSpecial paste, operation, skipBlanks, transpose
Необязательный параметр paste определяет элементы диапазона, - формулы, данные, форматы, комментарии - которые требуется вставить. Допустимыми значениями данного аргумента являются константы Excel:
xIPasteAll (по умолчанию), xIPasteFormulas, xIPasteValues, xIPasteFormats, xIPasteNotes или xIPasteAllExceptBorders.
Чтобы определить тип вставки, используется дополнительный параметр operation. Допустимыми значениями данного аргумента являются константы: xIPasteSpecialOperationNone (по умолчанию), xIPasteSpecialOperationAdd, xIPasteSpecialOperationSubtract, xIPasteSpecialOperationMultiply или xIPasteSpecialOperationDivide.
Если следует пропустить при вставке пустые ячейки, присвойте необязательному параметру skipBlanks значение True. Значение по умолчанию для данного аргумента равно False.
Если требуется при вставке поменять местами строки и столбцы, присвойте необязательному параметру transpose значение True. Значение по умолчанию для данного аргумента равно False.
--------------------
Вот. Винда проставилась. И даже уже BSOD выдала. Значит, работает! На всякий случай, воспользуйтесь поиском
|
|
|
|
|
xls |
Четверг, 10 Июля 2008, 18:49
|
Участник
Профиль
Группа: Участник
Сообщений: 34
Регистрация: 08.09.2004
Пользователь №: 7317
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Возможно и нужно..... Но у меня и так работает.... В задаче было указано: повесить на кнопку специальную вставку значений. Задача выполнена. Может и не грамотно...., но работает... :-) ..... даже это : , Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False не надо....
Сообщение отредактировал xls - Четверг, 10 Июля 2008, 18:52
|
|
|
|
|
|
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
|
0 Пользователей:
|
|
© Copyright by WinCity.Ru 2001 - 2008 | Обратная связьУслуги веб-хостинга предоставлены компанией MTW.RU
|
|