VBA zīmēšanas kastes ar kodu
Ir daudz iemeslu, kāpēc jūs varētu vēlēties programmēt zīmēt kastes, vai automatizēta diagramma būtu forša? Šeit ir viens veids, kā to izdarīt.
Šis ir pamata kods, lai uzzīmētu lodziņu:
12345678910 | ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75). AtlasietSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue |
Tas tiešām nav tik biedējoši, ir tikai divas ievērojamas lietas, uz kurām jāskatās; Shēmas krāsa acīmredzami ir krāsa un 0,0,48,12.75.
Tātad, kas ir 0,0,48,12,75? Vienkārši kreisā pozīcija, augšējā pozīcija, platums un augstums. Jūs varat tos pielāgot, kā vēlaties, pielāgojot pirmos divus, lai mainītu lodziņu atrašanās vietu ekrānā, un pēdējos divus, lai mainītu lodziņa izmēru. Es izmantoju šos izmērus, jo tie bija labs minējums, kā izveidot kastīti tāda paša izmēra kā šūna.
Un šeit ir kods, ko izmanto, lai dinamiski uzzīmētu zaļās kastes iepriekš redzamajā attēlā:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | Sub DynamicBoxes ()Dim x As Double"Tas veido horizontālas kastesX = 0 līdz 240 48. darbība"atsauce uz četriem kreisajiem cipariem, augšā, platumā, augstumāActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12.75). AtlasietSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNākamais x"Tādējādi tiek izgatavotas vertikālas kastesX = 0 līdz 127,5 12.75. SolisActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75). AtlasietSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueNākamais xBeigu apakš |