Makrossa "jos virhe"

Makro-Marko

1.
Miten tehdään makroon IF(ISERROR (IFERROR tms. Siis tuohon alla olevaan Sub Laske makroon.
Jos on on virhe niin se pitäisi olla tyhjä "blank".
Osaan kaavoihin tehdä nuo mutta makrot on aika uusi juttu.

"""((((Nauhoitettu makro on niin kauheeta katsoa että sellaista en halua, haluan siistiä koodia siksi yritän koodailla kaavat ynnämuut käsin ja haluan oikeasti vieläpä oppia noit juttuja.))))""""


2. kysymys saisiko rimpsua lyhennettyä jollain tavalla, makroista tulee muuten liian pitkiä jos joutuu jokaisen solun naputtelemaan yksi kerrallaan moduliin. Laskumakroja tulee useita erilaisia sinne tänne ja tänne sinne. Ne ovat paljon pidempiä kuin esimerkki. Mutta sen voisi rajoittaa vaikka 50 riviin jos joku vinkkaa esimerkillä lyhennetyn koodin miten sen voisi tehdä niin että saisi mahdollisesti ideasta kiinni.

Mut jos ei niin olis kiva jos saisi ainakin 1. kysymykseen vastauksia.

Sub Laske()

Worksheets("Sheet1").Select
Range("N2").formula = "=Sum(H2)/((C2)*188)"
Range("N3").formula = "=Sum(H3)/((C3)*188)"
Range("N4").formula = "=Sum(H4)/((C4)*188)"
Range("N5").formula = "=Sum(H5)/((C5)*188)"
Range("N6").formula = "=Sum(H6)/((C6)*188)"
Range("N7").formula = "=Sum(H7)/((C7)*188)"
Range("N8").formula = "=Sum(H8)/((C8)*188)"
Range("N9").formula = "=Sum(H9)/((C9)*188)"
Range("N10").formula = "=Sum(H10)/((C10)*188)"
Range("N11").formula = "=Sum(H11)/((C11)*188)"
Range("N12").formula = "=Sum(H12)/((C12)*188)"
Range("N13").formula = "=Sum(H13)/((C13)*188)"

jatkuu....
jatkuu....


End Sub

3

411

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Makro-Marko

      Makro-Marko täsmentää.

      Range("N"). on alue johon tulos tulee ja jos on virhekoodi niin se pidäis saada "blank"

      • Sub LAske()
        Range("N2").Formula = "=IF(ISERROR(SUM(H2/C2*188)),"""",SUM(H2/C2*188))"
        Range("N2").AutoFill Destination:=Range("N2:N13"), Type:=xlFillDefault
        End Sub


      • Makro-Marko
        kunde kirjoitti:

        Sub LAske()
        Range("N2").Formula = "=IF(ISERROR(SUM(H2/C2*188)),"""",SUM(H2/C2*188))"
        Range("N2").AutoFill Destination:=Range("N2:N13"), Type:=xlFillDefault
        End Sub

        Hyvin toimii, kiitos!


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

    Luetuimmat keskustelut

    1. Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?

      Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.
      Maailman menoa
      325
      4288
    2. Riikka jytkytti naftan hinnan jo yli 2,3 euroon

      Sannan aikaan esimerkiksi dieseliä selvästi kalliimpaa bensaakin sai 1,3 eurolla. https://www.is.fi/autot/art-200001188
      Maailman menoa
      159
      3976
    3. Päivän Sanna: Suomi maailman onnellisin maa

      Sanna muutti Suomen maailman onnellisimmaksi maaksi. Hänen pyyteetön työnsä maailmalla tuottaa edelleen tulosta.
      Maailman menoa
      77
      3396
    4. Vasemmiston feministinaiset puolustavat islamia

      mikä on täysin järjenvastaista, mutta eihän femakoilla paljon järkeä olekkaan, leijuvat siellä omassa kuplassaan. Myös
      Maailman menoa
      236
      2895
    5. Ei se halua mitään!!

      Arkailija koko tyyppi!
      Ikävä
      61
      2438
    6. Olet kyllä erittäin huono yhdistelemään pisteitä.

      Etkä vain sinä vaan kaikki teilläpäin.
      Ikävä
      34
      1787
    7. Onko jo liian "vanha" vai mitä mieltä olet? 57-v. saa raakaa tekstiä tv:ssä

      The Summit Suomi tv-ohjelmassa 57-vuotiaan Maritan jaksamista kyseenalaistettiin iän takia. Onko tässä iässä jo liian "v
      50 plus
      37
      1466
    8. Etkö sitten itse

      ole koskaan ylittänyt rajaa?
      Ikävä
      43
      1433
    9. Mitä järkeä iskeä

      Varattua ja yrittää saada sitä eroamaan
      Ikävä
      45
      1305
    10. Suomi edelleen maailman onnellisin maa

      Olemme hyvällä tiellä. Laitetaan nyt talous kuntoon.
      Maailman menoa
      154
      1238
    Aihe