Пытаюсь убрать формат при вставке, код начинает ругаться
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Вставляем, если был двойной щелчок по ячейке
If Not Intersect(Target, Range("C2:I999")) Is Nothing Then
Application.EnableEvents = False
Cancel = True
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
False, NoHTMLFormatting:=True
Application.EnableEvents = True
Cancel = True
End If
If Not Intersect(Target, Range("A2:A999")) Is Nothing Then
Application.EnableEvents = False
Cancel = True
ActiveCell.Rows("1:1").EntireRow.Delete Shift:=xlUp
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Вставляем, если был двойной щелчок по ячейке
If Not Intersect(Target, Range("C2:I999")) Is Nothing Then
Application.EnableEvents = False
Cancel = True
Target.PasteSpecial xlPasteValues
Application.EnableEvents = True
End If
If Not Intersect(Target, Range("A2:A999")) Is Nothing Then
Application.EnableEvents = False
Cancel = True
ActiveCell.Rows("1:1").EntireRow.Delete Shift:=xlUp
Application.EnableEvents = True
End If
End Sub
нельзя использовать один оператор,тк вставляемые данные имеют разный формат, а в параметре Format указан фиксированный формат, поэтому и возникает ошибка.
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Вставляем, если был двойной щелчок по ячейке
If Not Intersect(Target, Range("C2:I999")) Is Nothing Then
Cancel = True
Application.EnableEvents = False
Select Case Application.ClipboardFormats(2)
Case 7
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
Case 44
ActiveSheet.PasteSpecial Format:="Текст в кодировке Unicode"
End Select
Application.EnableEvents = True
End If
End Sub
еще обходной путь. основано на том,что вставляемый текст выделяется
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Вставляем, если был двойной щелчок по ячейке
If Not Intersect(Target, Range("C2:I999")) Is Nothing Then
Cancel = True
Application.EnableEvents = False
ActiveSheet.Paste
Application.EnableEvents = True
Selection.ClearFormats
End If
End Sub
Karataev, СПАСИБО Второй вариант не прошел испытания, провалился на повторной вставке, при которой КОД уже не мог вытянуть от туда информацию. А вот первый вариант работает стабильно.
Еще раз спасибо за активное участие в моем проекте.