Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / запрет вставки форматирования копируемой ячейки / 8 сообщений из 8, страница 1 из 1
15.06.2006, 19:22:21
    #33794087
Suleyman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Проблема в следующем, при вставке после копирования вставляются помимо данных, всё форматирование копируемой ячейки, а нужно что бы только данные.
понятно, что можно через спец. вставку, но нужно что бы сразу через "вставка" и что бы форматирование ячеек при этом не происходило. Может есть просто где то переключатель в Excel, искал не нашел.
заранее спасибо
...
Рейтинг: 0 / 0
16.06.2006, 08:37:17
    #33794468
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Сделай макрос и назначь ему сочетание клавишь, например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Sub PasteSpecial()
    ' Сочетание клавиш: Ctrl+F

    ActiveCell.PasteSpecial _
      Paste:=xlPasteValues, _
      Operation:=xlNone, _
      SkipBlanks:=False, _
      Transpose:=False
End Sub
...
Рейтинг: 0 / 0
16.06.2006, 15:25:02
    #33795969
Suleyman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Спасибо, идея не плохая, но есть свои недостатки, на пример нельзя отменить вставку после вставки через макрос, может есть по этоиу поводу какая нибудь идейка?
...
Рейтинг: 0 / 0
19.06.2006, 09:04:56
    #33798653
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Стандартным способом отменить действие макроса нельзя. Нужно писать еще один макрос для отмены. Для этого нужно воспользоваться методом OnUndo объекта Application.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private varValue As Variant

Public Sub PasteSpecial()
    ' Сочетание клавиш: Ctrl+F
    
    varValue = ActiveCell

    ActiveCell.PasteSpecial _
      Paste:=xlPasteValues, _
      Operation:=xlNone, _
      SkipBlanks:=False, _
      Transpose:=False
    
    Application.OnUndo "Undo PasteSpecial", "UndoPaste"
End Sub

Public Sub UndoPaste()
    ActiveCell = varValue
End Sub
...
Рейтинг: 0 / 0
25.06.2006, 21:29:12
    #33813491
Suleyman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Если копируешь какой то диапазон ячеек, вставляешь через спец вставку, а потом отменяешь через макрос, то отменяет только активную ячейку, а нужно что бы отмена происходила во всём диапазоне, и предыдущее действие, и пре предыдущее
...
Рейтинг: 0 / 0
26.06.2006, 09:24:45
    #33813730
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Идея есть, нужно только ее доработать.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Private Type typRange
    varValue As Variant
    strAddress As String
End Type

Private rng() As typRange

Public Sub PasteSpecial()
    ' Сочетание клавиш: Ctrl+F
    
    Dim cel As Range
    Dim intI As Integer
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    ReDim rng(Selection.Count)

    For Each cel In Selection
        rng(intI).varValue = cel.Value
        rng(intI).strAddress = cel.Address
        intI = intI +  1 
    Next cel

    Selection.PasteSpecial _
      Paste:=xlPasteValues, _
      Operation:=xlNone, _
      SkipBlanks:=False, _
      Transpose:=False
    
    Application.OnUndo "Undo PasteSpecial", "UndoPaste"
End Sub

Public Sub UndoPaste()
    Dim intI As Integer

    On Error GoTo HandleErr
    
    For intI =  0  To UBound(rng) -  1 
        Range(rng(intI).strAddress) = rng(intI).varValue
    Next intI

    Exit Sub
    
HandleErr:
    MsgBox "Невозможно отменить."
End Sub
...
Рейтинг: 0 / 0
26.06.2006, 14:42:59
    #33814605
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
Suleyman ... но нужно что бы сразу через "вставка" и что бы форматирование ячеек при этом не происходило. ...
Погоди. :) Я не понимаю, что ты называешь загадочным словосочетанием "сразу через вставку"? Физически как надо? Ctrl+V или в иконки тыкать мышью в иконки. Если тыкать мышью, то вытащи на панель кнопку "Вставить только значения":
...
Рейтинг: 0 / 0
02.07.2006, 18:02:21
    #33826234
Suleyman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрет вставки форматирования копируемой ячейки
да, наверное проще вытащить иконку на панель, потому что нужен именно этот результат. через макрос все равно не получается, отменяет только активную ячейку, а не весь диапазон. спасибо
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / запрет вставки форматирования копируемой ячейки / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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