Programmatisk Tegn bokser med kode - VBA -kodeeksempler

Innholdsfortegnelse

VBA tegnebokser med kode

Det er mange grunner til at du kanskje vil være i stand til å programmere bokser, et automatisk gantt -diagram ville vært kult? Her er en måte å gjøre det på.

Dette er den grunnleggende koden for å tegne en boks:

12345678910 ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75) .VelgSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue

Det er virkelig ikke så skremmende, det er bare to bemerkelsesverdige ting å se på; Schemecolor er åpenbart fargen og 0,0,48,12,75.

Så hva er 0,0,48,12,75? Bare venstre posisjon, topposisjon, bredde og høyde. Du kan justere disse slik du vil, justere de to første for å endre boksene på skjermen, og de to sistnevnte for å endre størrelsen på boksen. Jeg brukte disse dimensjonene fordi de var en god gjetning på å lage en eske i samme størrelse som en celle.

Og her er koden som brukes til dynamisk å tegne de grønne boksene i bildet ovenfor:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 Sub DynamicBoxes ()Dim x As Double'Dette lager horisontale bokserFor x = 0 Til 240 Trinn 48'referanse til de 4 tallene igjen, topp, bredde, høydeActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12.75) .VelgSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNeste x'Dette lager vertikale bokserFor x = 0 Til 127,5 Trinn 12.75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75) .VelgSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNeste xSlutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave