Recent, am fost într-o misiune de teste, în care am fost obligat să: „calcul automat în Excel, să construiască un tabel de valori ale funcțiilor și grafică. Construcția începe prin a da clic pe butonul ». A fost dată o funcție y = 4 * (i + 2) ^ (2/3), coordonatele inițiale și finale, precum și o etapă de calcul. Cum ar trebui să arate, am prezentat destul de repede.
De asemenea, rapid, am avut un algoritm copt pentru implementarea sarcinii.
Dar nu știam cum să inițializez și să adaug o diagramă folosind VBA.
Prin urmare, pentru a înțelege cum să inserați o diagramă într-o foaie de lucru utilizând o macrocomandă, am luat și am scris o astfel de macrocomandă. Adică, în fila "Vedeți" am găsit "Macrograme" și am ales "Înregistrare macro". Apoi am adăugat o diagramă în foaia de lucru, am ales, de asemenea, intervalul de date pentru diagramă, în general, am primit următorul cod:
Aici, vom vedea că linia «ActiveSheet.Shapes.AddChart.Select» adaugă direct programul, linia următoare «ActiveChart.ChartType = xlXYScatterSmoothNoMarkers» definește tipul său. «ActiveChart.SeriesCollection.NewSeries» - adaugă o nouă gamă de date ( „Seria“).
String «ActiveChart.SeriesCollection (1) .name = "= "" y """» specifică numele graficului în diagrama, și linia «ActiveChart.SeriesCollection (1) .XValues = "= Sheet1! $ A $ 1 :! $ A $ 8" , ActiveChart.SeriesCollection (1) .Values = „= Foaia1 $ B $ 1 $ B $ :! 8 '' - aceasta variază«x valori»și«y».
Pe foaie, avem o diagrama neconfundată.
Acum, pentru a ști care este linia destinată, este ușor să le schimbați și să le personalizați în funcție de nevoile dvs.
Mai întâi, creați o piesă pentru macro, adică adăugați un buton (fila "Dezvoltator") și înregistrați datele inițiale pentru calcule.
Bine. Apoi tastați codul macroului.
x1 = Celule (1, 2) .Value
x2 = Celule (2, 2) .Value
shag = Celule (3, 2) .Value
Pentru i = x1 Pentru x2 Step shag
y = 4 * (i + 2) ^ (2/3)
Celulele (j, 3) Valoarea = i
Celule (j, 4) .Value = y
ActiveChart.SeriesCollection (1) .Name = "=" "Graficul funcțiilor" ""
ActiveChart.SeriesCollection (1) .XValues = Interval ("C" 1, "C" j)
ActiveChart.SeriesCollection (1) .Values = Interval ("D" 1, "D" j)
Să explicăm câteva aspecte ale codului.
"Coloane (" C: D ") ClearContents" - vom șterge intervalul înainte de a scrie ceva.
"Celulele (1, 10). Selectați" este un patch, fără aceasta, graficul poate fi afișat incorect.
Bucla "For" este executată până când "i" devine egală cu valoarea finală a "x2".
După salvarea macrocomenzii, accesați butonul adăugat anterior și alocați-i o macrocomandă (faceți clic dreapta pe buton și apoi atribuiți o macrocomandă).
Rămâne doar să faceți clic pe buton și să vedeți rezultatele.
Totul lucrează pentru noi, așa că am făcut totul bine. Astfel, am studiat primirea cu succes a unei macrocomenzi, amintindu-ne de modul de adăugare a unei diagrame, am aflat cum să atribuiți un macro unui buton.