VBA Piirrä laatikot koodilla
On monia syitä, joiden vuoksi saatat haluta piirtää ohjelmallisesti laatikoita, automaattinen portaikkokaavio olisi hienoa? Tässä on yksi tapa tehdä se.
Tämä on peruskoodi laatikon piirtämiseen:
12345678910 | ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue |
Se ei todellakaan ole niin pelottavaa, on vain kaksi huomionarvoista asiaa; Schemecolor on ilmeisesti väri ja 0,0,48,12.75.
Mikä on siis 0,0,48,12,75? Yksinkertaisesti vasen, yläasento, leveys ja korkeus. Voit säätää näitä haluamallasi tavalla säätämällä kahta ensimmäistä muuttaaksesi laatikoiden sijaintia näytöllä ja kahta jälkimmäistä muuttaaksesi laatikon kokoa. Käytin näitä mittoja, koska ne olivat hyvä arvaus tehdä laatikko samankokoiseksi kuin solu.
Ja tässä on koodi, jota käytetään vihreiden laatikoiden dynaamiseen piirtämiseen yllä olevassa kuvassa:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | Sub DynamicBoxes ()Dim x Kuten Double'Tämä tekee vaakasuorat laatikotX = 0 - 240 Vaihe 48'viittaus neljään numeroon vasemmalle, ylhäältä, leveydeltä, korkeudeltaActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12.75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSeuraava x'Tämä tekee pystysuorat laatikotX = 0 - 127,5 Vaihe 12.75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSeuraava xEnd Sub |