• ベストアンサー

選択すると楕円を書くVBA

sheet1にて選択された数字を入力するとsheet2にて 該当する項目に楕円で囲むVBAを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

他にも方法があったような気がしますが、とりあえず、こんな感じではどうでしょうか? シートタブを右クリックし、[コードの表示]で、開いた所(VBE)に以下を貼り付けます。 以下は、丸が、セルの大きさを越えないので、少し小さいかもしれません。 '// Private Sub Worksheet_Change(ByVal Target As Range)  Dim shp As Shape  Dim Lf As Double  Dim Tp As Double  Dim Wd As Double  Dim Ht As Double  If Target.Column <> 1 Then Exit Sub '1列目でなければ除外  If Target.Count > 1 Then Exit Sub  If IsNumeric(Target.Value) = False Then Exit Sub '数字でなければ除外    With Worksheets("Sheet2")  For Each shp In .Shapes   If Not Intersect(shp.TopLeftCell, .Rows(Target.Row)) Is Nothing Then    shp.Delete   End If  Next shp  If Target.Value <= 0 Then Exit Sub   With .Cells(Target.Row, Target.Value + 1)    Lf = .Left: Tp = .Top: Wd = .Width: Ht = .Height    '○の大きさは、WdとHtに、足して調整してください。   End With   With .Shapes.AddShape(msoShapeOval, Lf, Tp, Wd, Ht)    .Fill.Visible = msoFalse    .Line.Weight = 1.5 '線の太さ   End With  End With End Sub

197658
質問者

お礼

丁寧な回答感謝申し上げます。 勉強させていただきます。

その他の回答 (1)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

マクロの記録で記録したらいかがですか?

関連するQ&A