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

457

    Vastaukset 3

    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. Suomalaisten pinna paloi - Ärsytys iskee uudesta TTK-juontajasta "Eihän tälle voi kun nauraa"

      Oliko Veronica Verho hyvä valinta TTK-juontajaksi? Uuden TTK-juontajan henkilöllisyyttä on arvailtu siitä asti, kun Va
      Suomalaiset julkkikset
      110
      2321
    2. Mitä tapahtuu?

      Mitä tapahtuu Humalojalla? Poliiseja talon ympärillä ja paljon ihmisiä pitkin pihoja???
      Haapavesi
      25
      1036
    3. T rakastan sua

      vaikket sitä usko
      Ikävä
      71
      922
    4. Mitäpä luulet että tykkääkö

      kukaan kaivatustasi ?
      Ikävä
      103
      906
    5. Suomi on viittä vaille sodassa Venäjän kanssa...

      ...syynä tähän on kokoomuslainen presidenttimme Stubb. Hän on ainoa eurooppalaisen maan johtaja, joka kärkkäästi ja taha
      Maailman menoa
      591
      865
    6. Varmaan aika moni

      Haluaisi sinut enemmän kuin mielellään
      Ikävä
      48
      855
    7. Miksi et lähesty minua

      Jos kerran kaipaat, mies? Mitä pelkäät?
      Ikävä
      82
      748
    8. Olen vähän epävarma siitä, oletko kiltti

      Nainen, ensivaikutelma oli, että olet tosi hyväsydäminen eli siinä mielessä harvinaisuus. Eli et mene virran mukana, etk
      Ikävä
      76
      680
    9. Kai sä olet

      Luovuttanut mun suhteen.
      Ikävä
      69
      654
    10. Herkkä, hellä, aurinkoinen, kaunis upea, valonsäde on hän nainen

      Ja myös fiksu, älykäs ja luonnonläheinen. Erittäin mielenkiintoinen ja kiltti ihminen. Haluan tuntea hänet, koska kaik
      Ikävä
      31
      646
    Aihe