Ребят, подскажите в чем причина, если копирую данные внутри листа и пытаюсь вставить на этот же лист, то вставка не работает?
если копирую из "внешней среды" все гуд.
пример кода
если копирую из "внешней среды" все гуд.
пример кода
Код |
---|
Private Sub Worksheet_Change(ByVal rg As Range) Dim Nv, Ov, Lv If Intersect(rg, Range("O:O", "S:T")) Is Nothing Or rg.Count > 1 Then Exit Sub If Len(rg) = 0 Then Exit Sub Application.EnableEvents = False: Nv = rg: Application.Undo: Ov = rg If Ov = Nv Then rg = "": Application.EnableEvents = True: Exit Sub If Len(Ov) = 0 Then rg = Nv Else Lv = NvInOv(CStr(Nv), Ov): If Lv = False Then rg = rg & ";" & Nv Else rg = Lv End If Application.EnableEvents = True End Sub Function NvInOv(Nv$, Ov) Dim v, i& v = Split(Ov, ";"): NvInOv = False For i = LBound(v) To UBound(v) If v(i) = Nv Then v(i) = Empty: NvInOv = Replace(Join(v, ";"), ";;", ";"): v = Split(NvInOv, ";") If v(UBound(v)) = "" Then NvInOv = Left(NvInOv, Len(NvInOv) - 1) If Left(NvInOv, 1) = ";" Then NvInOv = Right(NvInOv, Len(NvInOv) - 1) Exit Function End If Next End Function Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myRange As Range Set myRange = Worksheets("Заявка на подключение").Range("A:O") If Application.Intersect(Target, myRange) Is Nothing Then Application.CellDragAndDrop = False Else Application.CellDragAndDrop = True End If End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("M:T")) Is Nothing Then Cancel = True End Sub |