2013-11-22 1 views
1

다음과 같은 문제점이있는 힌트를 요청합니다. activesheet에서 지정된 셀 모양에 추가하는 방법? 나는 excel vba에서 "activesheet.shapes의 각 셰이프"를 사용하여 지정된 셀에 셰이프를 삽입하는 방법

은 현재 내가 이런 걸 가지고 ... 내가 이름을 알고 있지만, 각 모양에 대한 제조법을 구현하는 방법을 모를 때 모양을 추가 할 수 있어요 :

Sub loop() 

Dim a As Integer 
Dim b As Integer 
Dim c As Integer 

For a = 1 To 10 
    For b = 1 To 10 

     ActiveSheet.Shapes.AddShape("Shape_Name", Cells(a, b), Cells(j, k), 10).Select 

    Next a 
Next b 
End Sub 

을하지만 사용하는 뭔가가 필요 이 :

For Each Shape In ActiveSheet.Shapes 
+0

가 어떻게 for 루프의 형태를 참조 할 수 있습니다 이름? –

답변

3

나는 당신이 필요 모르겠지만이

Dim shp As Shape 

For Each shp In ActiveSheet.Shapes 
    Debug.Print shp.Name 
Next 

이 단지 반복을 통해 시도 Shapes 컬렉션 따라서 논리에 접근하려면 모양을 만들어야합니다.

도형을 추가하려는 경우 .Shapes 컬렉션이 비어있는 경우 .Shapesfor each을 사용할 수 없습니다.


그래서 당신이 알고 일단 모양은 아직 추가되지 않습니다 때

Sheets("Sheet1").Shapes("Rectangle 1").Copy 
Sheets("Sheet2").Select 
Range("B2").Select 
Sheets(2).Paste 
+0

'셰이프를 추가하려고하면 .Shapes 컬렉션이 비어있는 것처럼 .Shapes에서 셰이프를 사용할 수 없습니다. '그래서 매우 사실 :) –

+0

Ok. 그렇다면 하나의 워크 시트에 몇 가지 모양이 있고 다른 워크 시트에서 사용하고 싶습니다. – Ascorpio

+0

시트를 한정해야하므로'ActiveSheet.Shapes'를'Sheets ("시트 이름")으로 대체하십시오. "시트 이름"의 셰이프 컬렉션을 반복하는 셰이프. 당신이 * 그들을 사용하고 싶다는 의미는 무엇입니까? –

관련 문제