2009-08-11 7 views
1

상단에 색상 키가있는 스프레드 시트가 있습니다. 사용자는 색상 키에 따라 스프레드 시트에서 다양한 셀의 색상을 수동으로 설정해야합니다.클릭 셀에서 활성 셀까지 내부 셀 색상 복사

이상적으로 사용자가 스프레드 시트에서 색상을 지정하려는 하나 이상의 셀을 선택/강조 표시 할 수 있고 색상 키 셀을 한 번 클릭하면 해당 내부를 복사 할 수 있습니다. 그들이 원래 선택한 세포에 색깔.

예 : A17 : D17 셀을 선택하고 A2 셀의 내부 색상과 같은 내부 색상을 설정하려는 경우 A2 셀을 클릭하면됩니다.

그들은 다음 A17의 색상 변경 할 수 있습니다

: 단지 A3 셀

을 클릭하여 A3와 같은 색으로 D17을이 일의 매크로/사용자 지정 기능/콤보의 방법이 있나요?

어떤 조언을 크게

최고 감사합니다, 벤 각 색상이 작업을 수행 할 수있는 명령 단추를 추가

답변

2

을 감상 할 수있다. 사용자가 셀을 선택한 다음 단추를 클릭하여 .ColorIndex 속성을 Selection 단추의 .ColorIndex으로 변경합니다.

+0

이것은을 달성 훨씬 간단한 방법입니다 OP가 원하는 결과. 좋은. –

0

실제로이 작업을 수행하는 기본 방법이 있지만 사용자가 좋아하는지 여부를 알지 못합니다. 사용자 지정 명령 단추를 추가하여 colorIndex 속성을 복사하지 않을 경우 사용자가 좋아할지 여부를 알 수 없습니다.

수동 프로세스 :

  1. 복사 컬러 키를 포함하는 세포. 새로운 셀에

  2. 를 클릭하면 표시하고 확인을 클릭 창에서 색상, 특수 마우스 오른쪽 버튼으로 클릭 붙여 넣기를 선택합니다 ..

  3. 선택 형식 옵션을 추가하고 싶습니다.

색상, 포맷 등은 값없이 복사됩니다.

1

@A. Scagnelli의 아이디어는 여러분이 필요로하는 것을 훨씬 잘 구현합니다. 색상 색인을 변경하는 색상 버튼 만 있으면됩니다.

왜 이전 선택을 추적하는 것이 고통스러운 이유입니다. 새로운 선택을하면 Excel이 귀하의 마지막 선택이 무엇인지 알지 못한다고 생각합니다. 마지막 선택을 기억하도록 전역 변수를 설정하여이 문제를 해결할 수 있습니다. 이것은 좋지도 않거나 권장하지 않습니다.하지만 가능합니다.

워크 시트에는 다음과 같은 것이 필요합니다.

Option Explicit 
Dim lastAddress As String 


Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If lastAddress <> "" Then 
    Range(lastAddress).Formula = "Was selected before" 
    Range(lastAddress).Interior.ColorIndex = 6 
End If 

lastAddress = Target.Address 

End Sub 

NB : 당신은 .Interior.ColorIndex을 발사하기 전에 현재 선택 색상 세포 중 하나 인 경우 테스트해야하지만 난 당신이 떠날거야 :)

+0

+1 유용한 정보. 그리고 다른 솔루션으로 멋지게 연기 할 수 있습니다. – Gavin