Dim kujundid() Private Sub Soltuvus_Click() Dim pikkus, rida, veerg, xserv, yserv, xkoef, ykoef, xnihe, ynihe 'Selection tähistab märgitud lahtreid If Selection.Columns.Count <> 2 Then MsgBox "Märgitud peab olema kaks veergu" End End If 'Massiivile antakse ruumi nõnda paljude elementide jaoks, 'kui palju on kasutaja märgistanud. ReDim kujundid(Selection.Rows.Count) xserv = 250 yserv = 50 'koefitsent näitab, mitu ekraanipunkti vastab ühele ühikule 'nihke jagu nihutatakse pilti ekraanipunktides xkoef = 1: xnihe = -150 ykoef = 10: ynihe = -35 kujundid(0) = ActiveSheet.Shapes.AddShape(msoShapeRectangle, xserv, yserv, 150, 150).Name pikkus = Selection.Rows.Count For rida = 1 To pikkus kujundid(rida) = ActiveSheet.Shapes.AddShape(msoShapeOval, _ xserv + (Selection.Cells(rida, 1) + xnihe) * xkoef, _ yserv + (Selection.Cells(rida, 2) + ynihe) * ykoef, 10, 10).Name Next rida ActiveSheet.Shapes.Range(kujundid).Select Selection.ShapeRange.Group.Select 'MsgBox (Selection.Cells(1, 2)) End Sub