Dim kujundid()

Private Sub Soltuvus_Click()
  Dim pikkus, rida, veerg, xserv, yserv, xkoef, ykoef, xnihe, ynihe
  'Selection thistab mrgitud lahtreid
  If Selection.Columns.Count <> 2 Then
    MsgBox "Mrgitud peab olema kaks veergu"
    End
  End If
  'Massiivile antakse ruumi nnda paljude elementide jaoks,
  'kui palju on kasutaja mrgistanud.
  ReDim kujundid(Selection.Rows.Count)
  xserv = 250
  yserv = 50
  'koefitsent nitab, 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

