Spisie treści
Pudełka do rysowania VBA z kodem
Istnieje wiele powodów, dla których możesz chcieć programowo rysować pola, automatyczny wykres Gantta byłby fajny? Oto jeden ze sposobów na zrobienie tego.
Oto podstawowy kod do rysowania pudełka:
12345678910 | ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75). WybierzSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Wybór.KształtZakres.Wypełnienia.BryłaSelection.ShapeRange.Fill.Visible = msoTrue |
To naprawdę nie jest takie zniechęcające, są tylko dwie godne uwagi rzeczy; Schemecolor to oczywiście kolor i 0,0,48,12,75.
Więc co to jest 0,0,48,12,75? Po prostu lewa pozycja, górna pozycja, szerokość i wysokość. Możesz je dostosować tak, jak chcesz, dostosowując dwa pierwsze, aby zmienić położenie pól na ekranie, a dwa ostatnie, aby zmienić rozmiar pola. Użyłem tych wymiarów, ponieważ dobrze zgadywały, że pudełko ma taki sam rozmiar jak komórka.
A oto kod używany do dynamicznego rysowania zielonych prostokątów na powyższym obrazku:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | Podrzędne pola dynamiczne()Przyciemnij x jako podwójny'To sprawia, że poziome pudełkaDla x = 0 do 240 Krok 48'odniesienie do 4 liczb po lewej, u góry, szerokości, wysokościActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12.75). WybierzSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Wybór.KształtZakres.Wypełnienia.BryłaSelection.ShapeRange.Fill.Visible = msoTrueNastępny x„To sprawia, że pionowe pudełka”Dla x = 0 do 127,5 Krok 12,75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12.75). WybierzSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Wybór.KształtZakres.Wypełnienia.BryłaSelection.ShapeRange.Fill.Visible = msoTrueNastępny xNapis końcowy |