Programmatisk Tegn kasser med kode - VBA -kodeeksempler

Indholdsfortegnelse

VBA Trækasser med kode

Der er mange grunde til, at du måske vil være i stand til at tegne kasser programmatisk, et automatiseret gantt -diagram ville være fedt? Her er en måde at gøre det på.

Dette er den grundlæggende kode for at tegne en boks:

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

Det er virkelig ikke så skræmmende, der er kun to bemærkelsesværdige ting at se på; Schemecolor er naturligvis farven og 0,0,48,12,75.

Så hvad er 0,0,48,12,75? Simpelthen venstre position, top position, bredde og højde. Du kan justere disse, som du vil, justere de to første for at ændre boksernes position på skærmen og de to sidstnævnte for at ændre boksens størrelse. Jeg brugte disse dimensioner, fordi de var et godt gæt til at lave en kasse i samme størrelse som en celle.

Og her er koden, der bruges til dynamisk at tegne de grønne felter i billedet ovenfor:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 Sub DynamicBoxes ()Dim x som dobbelt'Dette gør vandrette kasserFor x = 0 Til 240 Trin 48'reference til de 4 tal tilbage, top, bredde, højdeActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12,75) .VælgSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNæste x'Dette gør lodrette kasserFor x = 0 Til 127,5 Trin 12.75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75) .VælgSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNæste xAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave