Makro Korvaa

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
3561
Äänestä

Muut lukivat myös

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

Äänestä
  • 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!

    Äänestä

  • Mitä tehdä kirjoitti:

    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.

    Äänestä

Kommentoi aloitusta


Mitä tehdä kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu