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

453

    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. Mitäs peitsarissa on tapahtunut eilen illalla

      Mikkelissä iso poliisioperaatio https://www.iltalehti.fi/kotimaa/a/39ef020c-2d81-4d72-b720-651f458ba3e2
      Mikkeli
      90
      2947
    2. Mitä jos saisit selville

      että kaivattusi tekee susta pilaa?
      Ikävä
      210
      1161
    3. Mitä ajattelit ensimmäisenä kun

      näit kaivattusi ekaa kertaa?
      Ikävä
      82
      1116
    4. Suomalaiset nuoret Eu:n köyhimpiä?

      Suomalaisen nuoren varallisuus keskimäärin 5000e. Eu:ssa keskimäärin 25 000e.
      Maailman menoa
      120
      1047
    5. Mikä on sun ja kaivattusi nimen viimeinen kirjain?

      Välillä näin päin...
      Ikävä
      81
      1043
    6. Sofia teki aika pahat oharit

      Leikkiikö Sofia kansainvälistä kosmopoliittia vai menikö rehdisti pupu pöksyyn, kun perui viestillä tulonsa puoli tunti
      Kotimaiset julkkisjuorut
      201
      1008
    7. Mikä on toinen nimesi?

      Tiedätkö naisen?
      Ikävä
      65
      852
    8. Havaintoja ihmisen ulosteesta lenkkeilypoluilla

      Oletteko havainneet ihmisen ulostetta taajamaa kiertävillä lenkkeilypoluilla?
      Kuhmo
      21
      740
    9. Mies, toivotko että kaivatullasi

      olisi vähän isommat rinnat? Kuinka paljon isommat olisi kivat?
      Ikävä
      71
      727
    10. Peräännytkö nainen vai mitä sanot

      Jos sanon sulle että rakastan sua? Suututko oletko vihainen vai olisiko tunteet molemminpuolisia?
      Ikävä
      57
      588
    Aihe