2017-07-13 6 views
0

私は時間計画のためのチャートの開発に取り組んでいます。私は現在の週に配置されているラインを持っています。私はスプレッドシートをリセットするときにそれを削除できるように名前を割り当てようとしています。私はすべての図形を削除することはできません。なぜなら、シート上に保持する必要があるボタンがあるので、図形に名前を割り当てて、「リセット」機能でのみこの図形を削除すると思っています。その名前を割り当てます。ここでは、線を描き、それをオブジェクトとして設定する関数がありますが、どんな提案も認められます。VBA EXCEL - オブジェクトに名前を割り当てる

Public Function DrawCurrentDateLine() 

    Dim wsCRC As Worksheet 
    Set wsCRC = Worksheets("CRC") 

    Dim lrowcrc As Long 
    lrowcrc = CRC.LastRowInCRC 

    Dim CurrentDateColumn As Long 
    CurrentDateColumn = GetTodaysDateColumn() 

    Dim x1 As Long, x2 As Long, y1 As Long, y2 As Long 

    x1 = Cells(8, CurrentDateColumn).Left 
    x2 = Cells(lrowcrc, CurrentDateColumn).Left 
    y1 = Cells(8, CurrentDateColumn).Top 
    y2 = Cells(lrowcrc + 1, CurrentDateColumn).Top 

    Debug.Print lrowcrc  'Returns 91 
    Debug.Print CurrentDateColumn  'Returns 89 
    Dim CurrentDateLine As Object 

    Set CurrentDateLine = wsCRC.Shapes.AddLine(x1, y1, x2, y2).Line.ForeColor 
    CurrentDateLine.Name = "Current Date Line" 

    With CurrentDateLine 
     .RGB = RGB(30, 30, 30) 
     '.Weight = 3 
    End With 


End Function 

私が手にエラーがCurrentDateLineは、ForeColorプロパティに設定されているので、あなたの問題がある「オブジェクトはこのプロパティまたはメソッドをサポートしていない」と言われますCurrentDateLine.Name = "Current Date Line"ラインで

+0

素早く見て、形自体の代わりに「ForeColor」の名前を変更しようとしています。 – Tehscript

答えて

1

です。私はあなたが望むものが次のものだと信じています:

Set CurrentDateLine = wsCRC.Shapes.AddLine(x1, y1, x2, y2) 
CurrentDateLine.Name = "Current Date Line" 
+0

ああ、私は愚かなエラーをたくさん作るので、かなり新しいvbaを参照してください。ご協力いただきありがとうございます! – SBozhko

関連する問題