| 
    
     |  | こんにちは。かみちゃん です。 
 > 1 現在使用している直線の番号(直線96であれば96のこと)がわかる方法。
 
 図形をひとつだけ選択して下記マクロを実行してみてください。
 もっといい方法があるかわかりませんが・・・
 Sub Macro1()
 If VarType(Selection) = vbObject Then
 MsgBox "名前は " & Selection.Name & vbCrLf & _
 "番号は " & Replace(Selection.Name, TypeName(Selection) & " ", "")
 Else
 MsgBox "オブジェクトが選択されていません", vbCritical
 End If
 End Sub
 
 > 2 直線を引くとき、番号が1(または0)から始まるように、リセットする方法。
 > 3 または、もっと良い方法
 
 すでにichinoseさんからもコメントがついていますが別解ということで。
 
 '選択したセル範囲内の特定の種類の図形だけを削除する
 '参考URL
 ' http://park11.wakwak.com/~miko/Excel_Note/17-03_zukei.htm#17-03-47
 Sub Macro1()
 Dim myShp As Shape
 Dim myR As Range, SR As Range
 On Error Resume Next
 Set myR = Selection
 ' 特定のセル範囲であれば次のように記述
 ' Set myR = Range("A1:D50")
 If Err.Number <> 0 Then Exit Sub
 On Error GoTo 0
 For Each myShp In ActiveSheet.Shapes
 Set SR = Range(myShp.TopLeftCell, myShp.BottomRightCell)
 If Not Intersect(SR, myR) Is Nothing Then
 '選択範囲内に「完全に含まれる」場合は削除する場合は次のIfステートメントで制御
 '選択範囲内と「部分的に重なる」場合も削除する場合は次のIfステートメントは不要
 If Intersect(SR, myR).Cells.Count = SR.Cells.Count Then
 '直線(msoLine)の場合削除する
 If myShp.Type = msoLine Then myShp.Delete
 End If
 End If
 Set SR = Nothing
 Next
 Set myR = Nothing
 End Sub
 
 |  |