- Sub RtC()
Dim lrow As Range
Dim x As Integer, roC As Integer
Dim HTval As Variant
Dim tbl As ListObject: Set tbl = ActiveSheet.ListObjects(ActiveSheet.ListObjects(1).Name)
HTval = Application.Transpose(tbl.HeaderRowRange.Value) 'ok
x = tbl.DataBodyRange.Columns.Count 'ok
roC = 1
For Each lrow In tbl.DataBodyRange.Rows
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "RS" & roC
Worksheets("RS" & roC).Range("A2").Resize(x, 1).Value = HTval
Worksheets("RS" & roC).Range("B2").Resize(x, 1).Value = Application.Transpose(lrow.Value)
roC = roC 1
Next
End Sub - Tarkoitat että käyrät skaalautuvat väärin?
Vaikea neuvoa, sillä Excelin pitäisi piirtää tuo normaalisti oikein.
(Excel valitsee jonkin päivän kuukaudelta(vuodelta) ja käyttää sitä akselin otsikkoina, mutta piirtää välissä olevat arvot kohdalleen)
Ensiksi tarkista akselityyppi. Sen pitäisi olla automaattinen tai päivämäärä-> Valitse päivämäärä varmuuden vuoksi.
Löytyy: (Hiiren oikealla kaaviossa olevien päivämäärien päällä -> Muotoile Akseli -> Akselin asetukset->Akselityyppi-> Päivämääräakseli) - =INDEKSI(F4:F24;VASTINE(A1;E4:E24;0))
Hakee E4:E24 alueelta A1 -solun arvoa ja palauttaa vastaukseksi F4:F24 alueelta tuloksen(eli saman rivin seuraavan sarakkeen sisällön)
A1 -solussa voi käyttää myös korvausmerkkejä eli: Yliop* löytää Yliopistonkatu -sisältöisen solun (valitsee listalta ensimmäisen sopivan, joten kannattaa käyttää viereisessä solussa tarkistukseksi kaavaa =INDEKSI(E4:E24;VASTINE(A1;E4:E24;0)) jolloin näkee mikä oli vastaava katunimi listalla. - =TRIM(SUBSTITUTE(A1;CHAR(160);CHAR(32)))
=POISTA.VÄLIT(VAIHDA(A1;MERKKI(160);MERKKI(32)))
Poistaa tekstistä ei ASCII koodiin kuuluvat välilyönnit(eli vaihtaa unicode 160 merkin ASCII 32:ksi ja ajaa sen jälkeen TRIM -kaavan