Sadržaj
VBA Okviri za crtanje s kodom
Postoji mnogo razloga zbog kojih biste mogli htjeti programski crtati okvire, automatizirani gantogram bi bio super? Evo jednog načina da to učinite.
Ovo je osnovni kod za crtanje okvira:
12345678910 | ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75) .OdaberiSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue |
Zaista nije tako zastrašujuće, postoje samo dvije značajne stvari koje treba pogledati; Schemecolor je očito boja i 0,0,48,12,75.
Dakle, koliko je 0,0,48,12,75? Jednostavno lijevi položaj, gornji položaj, širina i visina. Možete ih prilagoditi kako god želite, prilagođavajući prva dva za promjenu položaja okvira na zaslonu, a posljednja dva za promjenu veličine okvira. Koristio sam ove dimenzije jer su bile dobra pretpostavka u izradi kutije iste veličine kao ćelija.
I evo koda koji se koristi za dinamičko crtanje zelenih okvira na gornjoj slici:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | Sub DynamicBoxes ()Dim x As Double'Ovo čini vodoravne kutijeZa x = 0 do 240 Korak 48'upućivanje na 4 broja lijevo, gore, širina, visinaActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12.75) .OdaberiSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSljedeći x'Ovo čini okomite kutijeZa x = 0 do 127,5 Korak 12,75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75) .OdaberiSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSljedeći xKraj podm |