kyssäri

Minulla on tiedon syöttö taulukko josta tiedot kopioituu toiseen taulukkoon tämä kaava solussa M33
[=JOS(VERTAA(D9;"X");L19*1000/JOS(VERTAA(A13;"X");AT!B16;AT!B17)/86400 M32;L19*1000/JOS(VERTAA(A13;"X");AT!C16;AT!C17)/86400 M32)], mutta siinä on mahdollista syöttää myös käsin lopetus aika ja samalla häipyy kaavani.
Miten saan makrossa tai muuten syötettyä tämän kaavan takaisin samaan soluun, jotta seuraavalla kerralla se laskisi lopetus ajan oikein?
Makrossa tyhjennetään soluja joiden tiedot täytyy syöttää uudelleen, siihen voisi yhdistää tämän kaavan lisäyksen tai niin että se hakisi kaavan jostakin???
12788
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

Ratkaisin pulman niin että laitoin kaavan toiseen kohtaan, josta sitten kopioin sen makrossa tähän soluun M33.
Olisin halunnut oppia myös miten makrossa syötetään soluun kaava.

Äänestä
  • niin nauhoita makro ja katso mitä se on saanut aikaan...(98% paskaa...)
    mutta asiaan...
    kirjoita koodiin esim. riippuen kieliversiosta
    Range("F16").Formula = "=SUM(A1:A10)" tai
    Range("F16").Formula = "=SUMMA(A1:A10)"

    voit katsoa myös mitä muita vaihtoehtoja löytyy(auora tai suhteellinen viittaus) kun kirjoittelet VBAeditorissa
    Range("F16"). ja katselet mitä vaihtoehtoja löytyy
    Keep Excelling

    Äänestä

  • kunde kirjoitti:

    niin nauhoita makro ja katso mitä se on saanut aikaan...(98% paskaa...)
    mutta asiaan...
    kirjoita koodiin esim. riippuen kieliversiosta
    Range("F16").Formula = "=SUM(A1:A10)" tai
    Range("F16").Formula = "=SUMMA(A1:A10)"

    voit katsoa myös mitä muita vaihtoehtoja löytyy(auora tai suhteellinen viittaus) kun kirjoittelet VBAeditorissa
    Range("F16"). ja katselet mitä vaihtoehtoja löytyy
    Keep Excelling

    Kokeilinkin sitä nauhoittamista, mutta siinä VBA antaa herjaa "=JOS(VERTAA(D9;"X")jne..." tuosta X.
    Missä vika? minussa tietenkin:)

    Äänestä

  • kavi kirjoitti:

    Kokeilinkin sitä nauhoittamista, mutta siinä VBA antaa herjaa "=JOS(VERTAA(D9;"X")jne..." tuosta X.
    Missä vika? minussa tietenkin:)

    mutta kokeiles ensiksi esim.
    Range("A1").FormulaLocal= "..."

    Äänestä

  • kunde kirjoitti:

    mutta kokeiles ensiksi esim.
    Range("A1").FormulaLocal= "..."

    Tässä koodi siinä on kommenttina myös se rivi missä on vika.

    Sub kaavan_syotto()

    ActiveSheet.Unprotect
    Range("L32").Formula = "L31"
    'Selection.Copy
    Range("L33").Formula = "l32"
    'ActiveSheet.Paste Link:=True
    'Range("M33").FormulaLocal ="=JOS(VERTAA($D$9;"X");$L$19*1000/JOS(VERTAA($A$13;"X");AT!$B$16;AT!$B$17)/86400 $M$32;$L$19*1000/JOS(VERTAA($A$13;"X");AT!$C$16;AT!$C$17)/86400 $M$32)"
    Sheets("AT").Select
    ActiveSheet.Unprotect
    Range("I1").Select
    Selection.Copy
    Sheets("Taulu").Select
    Range("M33").Select
    Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("A13").Select
    Sheets("AT").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("C12").Select
    Sheets("Taulu").Select
    Range("A13").Select

    End Sub

    Äänestä

  • kavi kirjoitti:

    Tässä koodi siinä on kommenttina myös se rivi missä on vika.

    Sub kaavan_syotto()

    ActiveSheet.Unprotect
    Range("L32").Formula = "L31"
    'Selection.Copy
    Range("L33").Formula = "l32"
    'ActiveSheet.Paste Link:=True
    'Range("M33").FormulaLocal ="=JOS(VERTAA($D$9;"X");$L$19*1000/JOS(VERTAA($A$13;"X");AT!$B$16;AT!$B$17)/86400 $M$32;$L$19*1000/JOS(VERTAA($A$13;"X");AT!$C$16;AT!$C$17)/86400 $M$32)"
    Sheets("AT").Select
    ActiveSheet.Unprotect
    Range("I1").Select
    Selection.Copy
    Sheets("Taulu").Select
    Range("M33").Select
    Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Application.CutCopyMode = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("A13").Select
    Sheets("AT").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Range("C12").Select
    Sheets("Taulu").Select
    Range("A13").Select

    End Sub

    tuossa kaavassa puolipisteen paikalla pilkkua...

    Äänestä

  • kokeilisit kirjoitti:

    tuossa kaavassa puolipisteen paikalla pilkkua...

    Auta koska muussa koodissa toimii puolipiste.

    Äänestä

  • kavi kirjoitti:

    Auta koska muussa koodissa toimii puolipiste.

    =JOS(VERTAA($D$9;"X");$L$19*1000/JOS(VERTAA($A$13;"X")...

    ainakin jos D9=x ja A13X niin silloinhan tulee virhe kun jaetaan nollalla!

    en kyllä ymmärrä kaavaasi
    $L$19*1000/JOS(VERTAA($A$13;"X")
    jaetaan joko 1 tai 0 eli ilmeisesti sun jossittelu ei mene oikein...
    VBA:n avulla voit tehdä monesti kaavan paljon helpomminkin VBA:n omilla jutuilla
    joten tarkistappas nyt ekaksi jossittelusi

    Äänestä

  • kunde kirjoitti:

    =JOS(VERTAA($D$9;"X");$L$19*1000/JOS(VERTAA($A$13;"X")...

    ainakin jos D9=x ja A13X niin silloinhan tulee virhe kun jaetaan nollalla!

    en kyllä ymmärrä kaavaasi
    $L$19*1000/JOS(VERTAA($A$13;"X")
    jaetaan joko 1 tai 0 eli ilmeisesti sun jossittelu ei mene oikein...
    VBA:n avulla voit tehdä monesti kaavan paljon helpomminkin VBA:n omilla jutuilla
    joten tarkistappas nyt ekaksi jossittelusi

    Selostan aluksi kaavani, sillä en ehdi juuri nyt tarkistaa sitä ja se on toiminut näin jo pitkään, toivottavasti siinä ei ole vikaa.
    Siinä katsotaan onko D9 X ja ellei ole niin oletetaan X olevan I9, mitä ei tarkisteta, sitten katsotaan onko A13 X ja ellei ole oletetaan X olevan I13, mitä ei tarkisteta.
    Jos A13 ja D9 on X, niin haetaan pumpun teho AT taulusta ja lasketaan pumppaus aika, joka lisätään pumppauksen aloitus aikaan M32.

    Äänestä

  • kunde kirjoitti:

    =JOS(VERTAA($D$9;"X");$L$19*1000/JOS(VERTAA($A$13;"X")...

    ainakin jos D9=x ja A13X niin silloinhan tulee virhe kun jaetaan nollalla!

    en kyllä ymmärrä kaavaasi
    $L$19*1000/JOS(VERTAA($A$13;"X")
    jaetaan joko 1 tai 0 eli ilmeisesti sun jossittelu ei mene oikein...
    VBA:n avulla voit tehdä monesti kaavan paljon helpomminkin VBA:n omilla jutuilla
    joten tarkistappas nyt ekaksi jossittelusi

    Nyt ehdin katsomaan sitä kaavaani ja kokeilin jotain yksinkertaisempaa. range("B1").formulaLogal="=jos(vertaa(A1;"X");A2/2;100)
    Ja tässä kaavassakin VBA herjasi kohtaa jossa on "X".

    Äänestä

  • kavi kirjoitti:

    Nyt ehdin katsomaan sitä kaavaani ja kokeilin jotain yksinkertaisempaa. range("B1").formulaLogal="=jos(vertaa(A1;"X");A2/2;100)
    Ja tässä kaavassakin VBA herjasi kohtaa jossa on "X".

    Asiaa sen tarkemmin tarkistamatta, mutta eikös tuossa X:n ympärillä pitäisi olla tupla heittomerkit, eli johonkin tähän tapaan:

    range("B1").formulaLogal="=jos(vertaa(A1;""X"");A2/2;100)"

    ilman tuplaa tuo ekan heittomerkin jälkeinen alue loppuu tokaan heittomerkkiin, eli juuri ennen X merkki, ja sitähän et varmaan tarkoita. tupla heittomerkki tarkoittaa jotain sellaista etä ekan heittomerkin jälkeinen alue jatkuu edelleen, ja näin loppuu vasta viimeiseen heittomerkkiin asti.

    huono perustelu, mutta varmasti joku voi perustella asian selvemmin, jos tuossa on jotain perää.

    Äänestä

  • Nimimerkki kirjoitti:

    Asiaa sen tarkemmin tarkistamatta, mutta eikös tuossa X:n ympärillä pitäisi olla tupla heittomerkit, eli johonkin tähän tapaan:

    range("B1").formulaLogal="=jos(vertaa(A1;""X"");A2/2;100)"

    ilman tuplaa tuo ekan heittomerkin jälkeinen alue loppuu tokaan heittomerkkiin, eli juuri ennen X merkki, ja sitähän et varmaan tarkoita. tupla heittomerkki tarkoittaa jotain sellaista etä ekan heittomerkin jälkeinen alue jatkuu edelleen, ja näin loppuu vasta viimeiseen heittomerkkiin asti.

    huono perustelu, mutta varmasti joku voi perustella asian selvemmin, jos tuossa on jotain perää.

    No niin nyt kaava kopioituu makrosta soluun.

    Äänestä

Kommentoi aloitusta


kavi kirjoitti:

Minulla on tiedon syöttö taulukko josta tiedot kopioituu toiseen taulukkoon tämä kaava solussa M33
[=JOS(VERTAA(D9;"X");L19*1000/JOS(VERTAA(A13;"X");AT!B16;AT!B17)/86400 M32;L19*1000/JOS(VERTAA(A13;"X");AT!C16;AT!C17)/86400 M32)], mutta siinä on mahdollista syöttää myös käsin lopetus aika ja samalla häipyy kaavani.
Miten saan makrossa tai muuten syötettyä tämän kaavan takaisin samaan soluun, jotta seuraavalla kerralla se laskisi lopetus ajan oikein?
Makrossa tyhjennetään soluja joiden tiedot täytyy syöttää uudelleen, siihen voisi yhdistää tämän kaavan lisäyksen tai niin että se hakisi kaavan jostakin???

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