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

350

    Vastaukset

    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ä on kaivattusi etunimi?

      Otsikossa siis on kysymys eriteltynä. Vain oikeat vastaukset hyväksytään.
      Ikävä
      125
      2295
    2. En kestä katsoa

      Sitä miten sinusta on muut kiinnostuneita. Olen kateellinen. Siksi pitäisi lähteä pois
      Ikävä
      103
      1357
    3. Peräti 95 % persujen kannattajista rasisteja

      Kertoo EVA:n teettämä kysely. Pakollista yhdenvertaisuuskoulutusta tarvitsee siis paljon laajempi joukko kuin pelkästää
      Maailman menoa
      319
      1079
    4. Kun viimeksi kohtasitte/näitte

      Mitä olitte tekemässä? Millainen ympäristö oli? Löydetään toisemme...
      Ikävä
      104
      1057
    5. Anna minulle anteeksi

      Anna minulle anteeksi. Minä pyydän.
      Ikävä
      109
      1051
    6. Olet kyllä vaarallisen himokas

      Luova, kaunis, määrätietoinen, pervo, mielenkiintoinen, kovanaama, naisellinen ja erikoinen.
      Ikävä
      86
      929
    7. On minulla suunitelma

      Siitä ei vain tiedä kukaan muu kuin tällä hetkellä minä. Suunnitelma ja varasuunnitelma. Sinun takiasi nainen. Vain s
      Ikävä
      44
      700
    8. Palstan ylivoimaisesti suosituin keskustelunaihe

      Palstan suosituin keskustelunaihe näyttää olevan homoseksuaalisuus. Otsikoiden perusteella voisi kuvitella olevansa Seks
      Luterilaisuus
      252
      689
    9. Ei koskaan saatu tuntea

      Mitä olisi ollut painautua toisiimme vasten. Hengittää syvään, hyväillä ja rakastella vailla kiirettä. Tai repiä vaattee
      Ikävä
      33
      670
    10. 50
      664
    Aihe