2012-07-19 2 views
2

워크 시트에있는 모든 레이블의 배경색을 업데이트하려고합니다. RGB 값을 사용하여 색상을 표시하고 싶지만 두 곳에서 멈추었습니다. 다음은 현재 가지고있는 코드입니다.모양의 배경색 변경

Sheet2.Shapes("Label 2").Fill.BackColor.RGB = RGB(220, 105, 0) 

이 코드는 오류없이 실행되지만 아무 효과가없는 것 같습니다. 내 레이블은 흰색 (또는 어쩌면 투명)으로 시작하고 결코 바뀌지 않습니다. 누구든지이 일을하기 위해 내가해야 할 일을 말해 줄 수 있습니까? 나는 또한이 추가하지만 아무것도하지 않았다 :

shp.Fill.Solid 

다음, 나는 반복의 형식을 다시 할 필요가 없도록 변수에이 RGB 값을 포착하고자합니다.

dim col as Color 
col = RGB(220,105,0) 
Sheet2.Shapes("Label 2").Fill.BackColor.RGB = col 

내가 컬러라는 어떤 변수 유형이없는 것을 알고,하지만 난 당신이 내가 뭘하려고 오전 볼 수 있다고 생각 : 기본적으로, 나는 이런 식으로 뭔가를 찾고 있어요. 대신 데 ForeColor를 설정

답변

5

시도 :

Sheet2.Shapes("Label 2").Fill.ForeColor.RGB = RGB(220, 105, 0) 

좋은 방법은 무엇을 알아낼 당신이 조정 자신을 만드는 동안 매크로를 기록하는 것입니다. 나중에 생성 된 코드를 검사하여이를 시작점으로 사용할 수 있습니다.

Public Sub AddRectangleWithText() 
    Dim textRectangle As Shape 

    Set textRectangle = ActiveSheet.Shapes & _ 
     .AddShape(msoShapeRectangle, 10, 80, 250, 50) 

    ' add your text 
    textRectangle.TextFrame.Characters.Text = "Your mother was a hamster." 

    ' fill the shape with the rgb color of your choice 
    textRectangle.Fill.ForeColor.RGB = RGB(220, 105, 0) 

End Sub 
+0

감사합니다. 나는 이것을 일찍 시도했지만 아무런 결과도 얻지 못했다. 나는 높이와 너비와 몇 가지 다른 것들을 바꿀 수있다. 나는 색깔이나 국경으로는 아무 것도 할 수 없다. 녹음에 관해서는, 당신은 마우스로 이와 같은 것을 할 수 없습니다 (나는 생각하지 않습니다). 그래서 그것은 옵션이 아닙니다. – Alex

+0

레이블에 색상 속성이 있는지 궁금합니다. 나는 이것을 텍스트 박스와 함께 시도해 보았고 쉽게 작동했다. 나는 기본적으로 같은 것이기 때문에 나는 텍스트 박스로 전환 할 것이라고 생각한다. 그러나 누군가가 있다면 나는 여전히 의견에 열려 있습니다. 감사. – Alex

+1

레이블 대신 사각형 모양을 사용할 수도 있습니다. 도형을 사용하여 색상, 윤곽선 등을 쉽게 설정할 수 있습니다. –

4

ForeColor 실제로 배경색을 제어 : 여기


은 RGB 값과 함께 activesheet에 사각형을 추가 여기에 텍스트를 추가 한 다음 색상하는 절차의 예입니다 Excel에서 주석/텍스트 상자를 다음과 같이 수정하십시오.
    Comment/ TextBox ForeColor
  • Activecell.Comment.Shape.Fill.ForeColor.RGB = RGB(240, 255, 250) 'Mint Green

는 전경이 Applicatoin 배경색을 통해 채울 수 있습니다.