Eli, nauhoitin elämäni ensimmäisen makron ja ihme kyllä se toimii, mutta?
Ongelma on siinä jos ottaa webistä dataa joka päivittyy taulukkoon esim. minuutin välein ja siinä datassa on pisteet, ne tulisi korvata automaattisesti pilkuiksi aina kun uutta dataa tulee taulukkoon.
Miten tai millä käskyllä tämä toimisi täysin automaattisesti ettei aina tarvitse erikseen ajaa kyseistä makroa manuaalisesti, (minuutin välein).
Sub ReplaceComma()
'
' ReplaceComma Macro
'
'
Columns("C:E").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Ongelma on siinä jos ottaa webistä dataa joka päivittyy taulukkoon esim. minuutin välein ja siinä datassa on pisteet, ne tulisi korvata automaattisesti pilkuiksi aina kun uutta dataa tulee taulukkoon.
Miten tai millä käskyllä tämä toimisi täysin automaattisesti ettei aina tarvitse erikseen ajaa kyseistä makroa manuaalisesti, (minuutin välein).
Sub ReplaceComma()
'
' ReplaceComma Macro
'
'
Columns("C:E").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
Vastaukset 3
Vanhimmat
Menisin väittämään, että tämä vaatii ohjelmoinnin osaamista hiukka. Pääset tutustumaan Excel 2003 ohjelmointiin hieman tarkemmin käväisemällä esim. seuraavilla sivuilla.
http://ornanet.dy.fi/
Äkkiseltään tämä vaikuttaa siltä, että sinun kannattaa kutsua omaa aliohjelmaasi "ReplaceComma" kyseisen taulukon muutostapahtumasta tai laskentatapahtumasta (uskoisin että tämä olisi parempi).
Tutustu ainakin sivuihin:
http://ornanet.dy.fi/ohjelmoinnissatarkeaa.htm
http://ornanet.dy.fi/objektienkasittelyperiaate.htm
http://ornanet.dy.fi/taulukonkasittely.htm
ja hyvin ytimekkäästi selitetty tekstein, tuollaista tarvitsenkin alussa, kiitosta.
Ei kuitenkaan löytynyt ongelmaan ratkaisua.
*Netistä etsitty avain sanoilla autorun, call macro etc.
Ei vaan osaa niitä soveltaa kun vba on kielenä täyttä hepreaa, "vielä".
Jatkuvasti etsin ratkaisua netistä, mutta jos joku haluaa vinkata mitä voisin tehdä scriptille niin aina parempi.
Jatkan surffailua, palaillaan!
Jihuuuuu, nyt ensikertalaisen pitää tuulettaa jeeeeee!!!!
Löytyi ratkaisu, tässä on säädetty ajamaan ReplaceComma Macro 30:n sekunnin välein:
Sub OnTimeMacro()
Application.OnTime Now TimeValue("00:00:30"), "ReplaceComma"
End Sub
---------------------------------------------------------------
Sub ReplaceComma()
'
' ReplaceComma Macro
'
'
Columns("C:E").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Call OnTimeMacro
End Sub
P.S
Täytyy sanoa että on aivan mahtavaa kun elämän ensimmäinen nauhotettu makro onnistui ja sain sen vielä automatisoitua, tosin vuorokauden kuluttua kovan nettisurffauksen tuloksena. Tämä vba on kyllä kaikkien mahdollisuuksien äiti, olen varma että tulen vielä ahkerasti kyselemään monia mutkikkaita scriptejä alan guruilta, eteen kun tulee aivan varmasti tukku ongelmia.