Lisäys-nappi exceliin

Aloittelija

Terve,
Tarvitsisin apua seuraavanlaisen taulukon tekemiseen:

Soluun A1 syötetään mitta, suojatussa solussa B1 on kerroin ja suojatussa solussa C1 kerotaan A1*B1, johon tulostuu tulo. Tarvitsisin tulostuksen, eli enterin näpäyksen jälkeen lisää-painikkeen eli makron soluun D1, jota näpäyttämällä sekä syötetty mitta A1:stä, että tulostunut tulo C1:sta siirtyvät soluihin E1 ja E2. Näiden tietojen tulisi säilyä siten, että kun seuraava mitta syötetään, painetaan enteriä ja tämän jälkeen lisää-painiketta, solujen E1 ja E2 arvo kasvaa, syötetyn mitan ja tulon verran.

Kiitos etukäteen vastanneille.

7

703

    Vastaukset 7

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Lisääjä

      Tuo onnistuu ihan nauhoittamalla makron. Piirrä "nappi" ja liitä siihen nauhoittamasi makro. Alla nauhoittamani makro. Se poistaa ensin taulukon suojauksen (että suojattu C1 solu voidaan kopioida), kopioi A1 ja C1. Liittää sen E1 määräten (vain arvot, Lisää,Transponoi) ja suojaa taulukon uudestaan.

      Sub Lisää()

      ActiveSheet.Unprotect
      Range("A1,C1").Select
      Selection.Copy
      Range("E1").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
      :=False, Transpose:=True
      Application.CutCopyMode = False
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
      Range("A1").Select
      End Sub

      • Aloittelija

        Kiitos, kelpasi kuitenkin, kun tein kaiken alusta.


    • Aloittelija

      Kiitos,

      Mutta aina sama herja "Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
      :=False, Transpose:=True" punastuu. Ei vaan saa onnistumaan. Olen koittanut useammalla tavalla. Onko ongelma alue E1 JA E2? Koitin ("E1,E2").
      Jos voisit tuumata asiaa, ja yrittää auttaa.

      Perään toinen pulma:

      Onnistuin tekemää soluun A1 alasvetovelikon 1,2,3,4,5 "Tietojen kelpoisuuden tarkistaminen"-ominaisuudella. Soluun B1 syötän luvun. Soluun C1 tein alsvetovalikon kuten edellä (1,2,3,4,5). Soluun D1 pyrin saamaan laskutoimituksen, jossa solun A1 alasvetovalikosta valittu luku määrittää solun C1 valikosta tietyn luvun, jolla kerrotaan solun B1 syöte.
      =JOS(TAI(A1=1);TULO(B1*C1);(A1=2)*TULO(B1*C2))
      toimii moitteettomasti, mutta jos yritän liittää kolmannen JOS-ehdon, esimerkiksi ;(A1=3)*TULO(B1*C3) yllä olevaan kaavaan
      =JOS(TAI(A1=1);TULO(B1*C1);(A1=2)*TULO(B1*C2)), seuraa herja: "Olet kirjoittanut tähän funktioon seuraavat argumentit: Liian monta. Onko ideoita, miten jatkaa.

      Jälleen etukäteen kiittäen
      Aloittelija

      • Kirjoita koodieditorissa
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
        :=False, Transpose:=True

        kaikki yhdelle riville pötköön ja poista alaviiva merkki ( _ ) koodiriviltä ( helpoin tapa fiksata aloittelijan)

        Keep EXCELing
        @Kunde


      • Aloittelija

        Kiitos,

        Kelpasi sellaisenaan, kun tein koko taulukon uusiksi

        Aloittelija


    • jossittelija

      Eka ongelmasi on osaamisalueeni ulkopuolella. Ihan noiden kaavojen kanssa olen aika paljon värkännyt, ja minusta näyttää, että et ole oikein nyt hahmottanut kunnolla, mitä tuossa kirjoittamassasi JOS-kaavassa lukee. Tuo koko TAI on tuossa yhtä tyhjän kanssa. Tuo kaavasi pitää nyt lukea siten, että jos A1=1, niin sitten lasketaan B1*C1, ja jos A1 on jotakin muuta kuin 1, niin sitten pitäisi laskea sen viimeisen puolipisteen jälkeinen laskutoimitus, mutta siellä onkin jo jokin valmis yhtälö, joten ei varmaan ihan toimi tuokaan? Minusta myöskin sana TULO siellä kaavassa on turha, kun siellä on B1*C1, niin älyäähän ohjelma jo kertomerkistä, että tuloa halutaan.

      En ole ihan varma ymmärsinkö oikein, mitä ajat takaa, mutta jos ymmärsin, niin ehkä sitten pitäisi käyttää sisäkkäisiä JOS-funktioita. Helpompi tapa voi olla olemassa, mutta olen itse käyttänyt näitä aika paljon.
      =JOS(A1=1;B1*C1;(JOS(A1=2;B1*C2;(JOS(A1=3;B1*C3;(JOS(A1=4;B1*C4);B1*C5))))))
      Nyt kaava tutkii ensin onko A1=1. Jos on, lasketaan B1*C1, ja homma selvä. Jos ei, niin se tutkii onko A1=2. Jos on, niin laskee B1*C2. jne. Ymmärsin, että A1 on aina joko 1,2,3,4 tai 5. Siksi viimeisessä kohdassa ei ole enää JOSsittelua. Kun ei ole ollut 1,2,3 eikä 4, niin sitten lasketaan ikään kuin olisi 5. Tuossa pitää vaan olla varovainen sulkumerkkien kanssa, että niitä on siellä lopussa tasan oikea määrä. On muistaakseni jokin raja paljonko näitä JOS-funktioita voi laittaa sisäkkäin, mutta kyllä sinne nuo 5 ainakin menee.

      • Aloittelija

        Kiitos,

        Kyllä toimii.

        Aloittelija


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mikä kaivatussasi ärsyttää

      Juuri nyt, tällä hetkellä?
      Ikävä
      131
      1612
    2. Kysely : Juuri kukaan ei halua nykyisen hallituksen jatkavan

      Ylen kysely: Juuri kukaan ei halua nykyisen hallituksen jatkavan – eivät edes halli­tus­puolueiden omat kannattajat Kes
      Hallitus
      124
      1437
    3. Salaisuudet paljastuu

      Viimeiset hetket meneillään ottaa yhteyttä. Kertoa totuus ja selvittää asioita. Viimeiset hetket meneillään jos joku
      Ikävä
      139
      1225
    4. Poliisi pamputti Variskankaalla

      Mistä lie alkanut ja miksi poliisit kutsuttu, mutta mielestäni hyvin toimittu. Jos haluaa rähistä eikä rauhoitu puheella
      Kajaani
      58
      1192
    5. 41
      875
    6. vapaa

      sana :) 🚮
      Ikävä
      75
      848
    7. Nainen tosi ikävä sua

      Näkispä edes ohimennen
      Ikävä
      25
      832
    8. Karita Tykkä mennyt kihloihin.

      Onnittelu kuuluu hänelle ja tulevalle aviopuolisolleen.
      Kotimaiset julkkisjuorut
      103
      813
    9. Lautturin poliisipiiritys

      Mitä Lautturilla yöllä tapahtui
      Huittinen
      13
      738
    10. Sinkkujen tilanne kiinassa katastrofaalinen

      800 naista osallistui sinkkujen iltaan, paikalle saapui 0 miestä. Ei mahdollisuuksia, kun nainen on 38 -vuotias, ja
      Sinkut
      114
      684
    Aihe