나는 아래와 같이 Excel을 공유 엑셀이라고합니다.VBA Excel - 특정 행에 붙여 넣지 않도록 사용자를 제한하는 방법?
지금 내가 GRAY로 backcolour 한 행에 대한 붙여 넣기 옵션을 (이 런타임에 고정되지 않은 행이 회색 색상을 얻을 수 있습니다) 허용해서는 안된다. 그것으로 sharedExcel 및 나는 Lock 속성을 사용할 수 없습니다. 모든 도움이 크게 고맙게 받아 들여집니다.
나는 아래와 같이 Excel을 공유 엑셀이라고합니다.VBA Excel - 특정 행에 붙여 넣지 않도록 사용자를 제한하는 방법?
지금 내가 GRAY로 backcolour 한 행에 대한 붙여 넣기 옵션을 (이 런타임에 고정되지 않은 행이 회색 색상을 얻을 수 있습니다) 허용해서는 안된다. 그것으로 sharedExcel 및 나는 Lock 속성을 사용할 수 없습니다. 모든 도움이 크게 고맙게 받아 들여집니다.
내가 선 다음 코딩 한이 문제에 약간의 시간을 보내고 후. 괜찮아. 여기에 PasteSheet 코딩 목적으로 다른 스프레드 시트를 찍었지만 언제든지 사용자에게 표시하지는 않습니다. 은`컬러 Gray`에 따라 ☺ 범위 보호
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode Then
SelectedRow = ActiveCell.Row
With Sheets("PasteSheet")
.Activate
.Range("A1").PasteSpecial xlPasteValues
CR = Selection.Rows.Count
End With
Worksheets("ActualSheet").Activate
For k = SelectedRow To (SelectedRow + CR)
If Worksheets("ActualSheet").Cells(k, 30).Interior.Color = RGB(215, 215, 215) Then
Application.EnableEvents = False
MsgBox "Pasting is not allowed here!"
'Clearing data in PasteSheet
Worksheets("PasteSheet").Cells.ClearContents
Worksheets("ActualSheet").Activate
Application.EnableEvents = True
Exit Sub
End If
Next
End If
최종 하위
true/false를 확인하는 데 사용되는 속성으로 색상을 사용하면 좋지 않은 동작입니다. 예를 들어 콤보 상자 등을 통해 액세스 할 수 있도록 0/1 또는 TRUE/FALSE로 열 (필요한 경우 숨김)을 추가하는 등의 방법으로이 문제를 해결할 수 있습니다 (이 cbb 상자를 클릭하여 회색으로 계속 조정할 수 있음) .
시트 이벤트 on_Change를 통해 동적으로 구성된 범위를 확인할 수 있습니다. 시트 이벤트에 대한 기본 구문 :
Private Sub Worksheet_Change(ByVal Target As Range)
'Set range dynamically instead of this hard coded example
If Not Intersect(Target, Thisworkbook.Sheets(1).Range("A1:A10")) Is Nothing Then
'Do something
End If
End Sub
비밀번호 .. 실행 시간 동안 당신이 확실 할 행을해야 만이 경우 복사 붙여 넣기를 할 수있는 다음, 그레이을 얻는다 너는 내 팁을 따라 간다. 그렇지 않은 경우 코드에서 어떤 셀을 제한해야하는지 어떻게 알 수 있습니까? 따라서 작업 흐름은 회색 만들기 -> 보호 -> 붙여 넣기가 아닙니다. 또는 S.NO가 행을 보호 할 수 있는지 결정하는 요소가 될 수 있습니까? – bonCodigo
@bonCondigo, 안녕하세요, 귀하의 답변을 주셔서 감사합니다.하지만 귀하의 워크 플로우를 사용할 수 없습니다. 런타임에 그레이 컬러 행은 그 행에 붙여 넣을 수있게해야 할 때 화이트 컬러를 얻을 수있는 경우를 생각해보십시오. 이렇게하려면 시트를 보호 해제하고 붙여 넣기를 허용해야하지만 Excel이 공유 모드 일 때 보호를 해제 할 수는 없습니다. 우리가 그렇게한다면'런타임 에러 '와 같은 에러를 던질 것입니다 1004'객체가이 메소드를 지원하지 않습니다' –
글쎄, 당신은''컬러를 검사하기위한 조건을 가지고 있습니다. 일했다. – bonCodigo