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

696

    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. Kenellä oli ryppyinen paita, josta Halla-aho mielensä pahoitti?

      Ei ollut Keskisarja, jonka paita vain repsotti housujen päällä puolittain. Muistatteko tapausta?
      Maailman menoa
      43
      3040
    2. Miksi Halla-aho on niin hyvin menestynyt - mutta punavihreä ei?

      Hyvin näkee kuinka punavihreää ottaa pahasti päähän kun Virta on taas töppäillyt pahasti. Ja kun punavihreä ei pärjää, n
      Maailman menoa
      35
      2258
    3. Ruoan arvonlisävero menee käytännössä tukijussille

      Ilman juomia elintarvikkeiden myynti vuonna 2025 oli reilut 15 miljardia euroa. Tuolla tasolla arvonlisävero pyörii pari
      Maailman menoa
      58
      2171
    4. Vihreät REPEÄMÄSSÄ oijoijoi....Virran sekoilut on liikaa

      Jo ennestään vihreiden kannatus on suossa vaikka puolue istuu oppositiossa, nyt tuli Virran temppu kun häipyi tuosta vaa
      Maailman menoa
      83
      2041
    5. Ruotsissa uusi vakava ongelma: Vanhusten seksuaalinen hyväksikäyttö

      palvelutaloissa ja kotihoidossa. Tämäkin on ihan puhtaasti väärän maahanmuuton vaikutusta, sillä tekijät ovat kaikki keh
      Maailman menoa
      56
      1757
    6. Poliisi tutkii keskiviikkoiltana Kiuruveden keskustassa tapahtunutta väkivallantekoa.

      Itä-Suomen poliisi tutkii Kiuruveden keskustassa keskiviikkoiltana tapahtunutta epäiltyä väkivallantekoa. Tapaus on herä
      Kiuruvesi
      18
      1573
    7. Työeläkkeiden maksaminen lopetettava ASAP.

      "Vanhimmat sukupolvet ovat saaneet vastinetta eläke­maksuilleen monin­kertaisesti nykyisiin ja tuleviin sukupolviin verr
      Maailman menoa
      64
      1508
    8. Mika Poutala salasi osallistumisensa Erikoisjoukkoihin

      Poutala ryhtyi ministeriksi 13.6.2025 ja 5.8.2025 ilmoitettiin hänen olevan seuraavalla Erikoisjoukot-kaudella. http
      Maailman menoa
      44
      1295
    9. Siis HYI OLKOON! Ihmiset, eikö enää ole mitään rajaa?

      https://www.iltalehti.fi/viihdeuutiset/a/4142eeb2-a589-4109-a5d0-e8f341df585c "Susanna Penttilän seksibussi kauhistutta
      Maailman menoa
      126
      1228
    10. Puuma Martina iski nuoren miehen

      Martina ja Hajji Muhis oikealta nimeltään Muhammad Abdilrasoon hempeilivät Tallinnassa. Hajji 28 vuotias ja Martina pian
      Kotimaiset julkkisjuorut
      163
      991
    Aihe