Vba osaajat. Miten tehdä taulukko jossa 1 rivi on otsikoita seuraavasti. A1 Pvm, C1 Paino, E1 Harjoitukset. Tarkoitus olisi kirjata kunkin päivämäärän kohdalle sen hetkinen paino (kg) ja harjoitukset joilla siihen on päästy E sarakkeeseen. Ohjelman tulisi osata tehdä kooste kaikesta ja piirtää viivakaaviota sen mukaan kun rivejä tulee lisää. Viivakaaviossa tulisi näkyä paino mutta ei harjoituksia. Tavoitepaino tulisi olla 78 kg .
Painonpudotus
ylipainoinen1
6394
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 6
Vanhimmat
Ei muuta kuin tekemään taulukkoa. Ei tuossa tarvita VBA:ta.
Kaavion päivittyminen sitä mukaa kun tietoja lisätään on vähän konstikkaampi juttu, muttei ylivoimainen aloittelijallekkaan. Tuossa linkki Officen omiin ohjeisiin miten se tapahtuu (ohje on suomenkielinen).
http://support.microsoft.com/kb/183446
Moi,
Siirtyjä oikeassa siinä, ettei välttämättä tarvita VBA:ta. Ehkä helpoin tapa on käyttää ns-Tablea. Kun siihen syöttää lukuja, niin ne päivittyvät myös graafiin automaattisesti. Tein kuitenkin oheisen makron, jota voit kokeilla tyhjään työkirjaan. Laita makron suorittamisen jälkeen rivin 2 tiedot oikeiksi (täytä vain sarakkeita A ja C, ei G:tä) ja sitten jatkat tietojen syöttämistä riviltä kolme eteenpäin ja graafi päivittyy automaattisesti.
Sub TeeTable()
'HUOM! makro poistaa aina aikaisemman "Syöttöpohja"-nimisen välilehden automaattisesti
'ja tekee uuden samannimisen blankon tilalle
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Syöttöpohja").Delete
Application.DisplayAlerts = True
Worksheets.Add
ActiveSheet.Name = "Syöttöpohja"
With ActiveSheet
.Range("A1") = "Pvm"
.Range("C1") = "Paino"
.Range("E1") = "Harjoitukset"
.Range("G1") = "Tavoite"
.Range("G2").Formula = "=IF(RC[-4]="""","""",78)"
.Range("A2") = "4/9/2013"
.Range("C2") = 78
End With
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$G$2"), , xlYes).Name = "Tilasto"
Range("Tilasto[#All]").Select
ActiveSheet.Shapes.AddChart.Select
With ActiveChart
.ChartType = xlLine
.SeriesCollection(3).Delete
.SeriesCollection(1).Delete
.SeriesCollection(2).Delete
.SeriesCollection(2).Delete
End With
ActiveChart.Axes(xlCategory).CategoryType = xlCategoryScale
Range("A1").Select
End Sub
Kiitos MR Vba. Graafi pohja rakentuu ja kaikki toimii muutoin hyvin mutta graafipohjaan ei jostain syystä tule näkymään mitään. Mistähän johtuu ? Puuttuuko makrosta graafin vaatima tietoalue ? Ja jos noin on niin miten sen sinne saa.
Moi, syötitkö tietoja vielä riville kolme rivin kaksi lisäksi. Eli kun olet syöttänyt kahden päivän tiedot, niin alkaako sitten graafiin tulla käppyrää ?
Nyt alkoi näkyä. Syötin makron väärään paikkaan, nimittäin ensimmäisen välilehden alle, kun se piti laittaa "this workbook" alle. Nyt toimii, kiitos paljon
Moi. Ei alkanut tulla. Kokeilin panna useita päiviä mutta ei näkynyt mitään.