Programmatiskt Rita rutor med kod - Exempel på VBA -kod

Innehållsförteckning

VBA Rita lådor med kod

Det finns många anledningar till att du kanske vill kunna rita rutor programmatiskt, ett automatiserat gantt -diagram skulle vara häftigt? Här är ett sätt att göra det.

Detta är den grundläggande koden för att rita en ruta:

12345678910 ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12,75) .VäljSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue

Det är verkligen inte så skrämmande, det finns bara två anmärkningsvärda saker att titta på; Schemecolor är uppenbarligen färgen och 0,0,48,12,75.

Så vad är 0,0,48,12,75? Helt enkelt vänster position, topposition, bredd och höjd. Du kan justera dessa hur du vill, justera de två första för att ändra rutornas position på skärmen och de två senare för att ändra rutans storlek. Jag använde dessa dimensioner eftersom de var en bra gissning på att göra en låda i samma storlek som en cell.

Och här är koden som används för att dynamiskt rita de gröna rutorna i bilden ovan:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 Sub DynamicBoxes ()Dim x As Double'Detta gör horisontella lådorFör x = 0 Till 240 Steg 48'hänvisning till de fyra siffrorna kvar, topp, bredd, höjdActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12,75) .VäljSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNästa x'Detta gör vertikala lådorFör x = 0 Till 127,5 Steg 12.75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12,75) .VäljSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNästa xAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave