도형 개체를 얻는 방법

3329 단어 ExcelVBA

소개



Excel VBA 이야기입니다.

시트의 특정 도형의 배경색과 같은 속성을 변경할 수 있습니다.
이때 원하는 오토셰이프 개체를 가져와야 합니다.

여기에서는 시트에서 오토셰이프 객체를 얻는 방법을 소개합니다.

도형은 어디에 있습니까?



자동 모양은 Sheet 객체의 Shapes 속성에 저장됩니다.
Sheet 객체는 ActiveSheet 이나 WorkBooks(ブック番号or名前).WorkSheets(シート番号or名前) 등으로 지정할 수 있습니다.

특정 오토 셰이프에 어떻게 액세스합니까?


Shapes 와 복수형이므로, 이것도 또한 WorkSheets 등과 같이 번호 또는 이름으로 지정할 수 있습니다.

번호로 지정하는 경우



이것은 활성 시트의 첫 번째 오토 셰이프 객체를 선택하는 예입니다.
ActiveSheet.Shapes(1)

이름으로 지정하는 경우



이름으로 지정하는 경우에는 우선 이름을 붙여야 합니다.
오토셰이프에 이름을 붙이는 경우는 다음과 같이 합니다.
대상 오토 셰이프를 선택하면 시트의 왼쪽 상단에 함수 입력란의 왼쪽 (일반적으로 셀의 주소가 표시되는 위치)에 해당 오토 셰이프의 이름이 표시됩니다.
여기에 자동 모양의 이름을 입력합니다.


그런 다음 VBA에서 다음과 같이 지정하여 해당 자동 모양 개체를 지정할 수 있습니다.
이것은 ボタン1 라는 이름의 오토셰이프를 선택하는 예입니다.
ActiveSheet.Shapes("ボタン1")
ActiveSheet 의 부분은 시트 오브젝트이면 좋기 때문에, 다른 지정의 방법에서도 물론 상관하지 않습니다.

오토셰이프 오브젝트를 취득할 수 있으면, 그 후에는 그 오브젝트가 가지는 다양한 프로퍼티의 값을 취득하거나, 설정하거나 원하는 대로 부디.

사용 예


  • 도형의 이름을 얻으려면 :
  • ActiveSheet.Shapes(1).Name
    
  • 도형의 채우기 색을 설정하려면 :
  • ActiveSheet.Shapes(1).Fill.ForeColor.SchemeColor = 3
    

    모든 도형을 변경하는 방법?



    그런데, 그렇다면 모든 오토셰이프에 대해 기계적으로 변경을 하고 싶은 경우는 어떻게 하는지, 라는 당연한 욕구가 나옵니다.

    번호로 오토 셰이프를 지정하는 방법을 위에서 소개했습니다만, 이것은 즉 For 루프를 돌릴 수 있다고 하는 것이군요.
    아래의 예는 시트의 모든 오토 셰이프의 채우기 색을 녹색으로 지정하는 것입니다.
    For i = 1 To ActiveSheet.Shapes.Count
       With ActiveSheet.Shapes(i)
         .Fill.ForeColor.SchemeColor = 3
       End With
    Next i
    

    좋은 웹페이지 즐겨찾기