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

456

    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. Mikä kaivatussasi ärsyttää

      Juuri nyt, tällä hetkellä?
      Ikävä
      106
      1251
    2. Salaisuudet paljastuu

      Viimeiset hetket meneillään ottaa yhteyttä. Kertoa totuus ja selvittää asioita. Viimeiset hetket meneillään jos joku
      Ikävä
      94
      868
    3. Poliisi pamputti Variskankaalla

      Mistä lie alkanut ja miksi poliisit kutsuttu, mutta mielestäni hyvin toimittu. Jos haluaa rähistä eikä rauhoitu puheella
      Kajaani
      31
      784
    4. vapaa

      sana :) 🚮
      Ikävä
      66
      693
    5. Karita Tykkä mennyt kihloihin.

      Onnittelu kuuluu hänelle ja tulevalle aviopuolisolleen.
      Kotimaiset julkkisjuorut
      93
      626
    6. 32
      605
    7. S-ryhmän ihmisoikeuslinja ei kestä omaa hankintaketjuaan

      S-ryhmän Israel-boikotin suurin uskottavuusongelma löytyy yllättävän läheltä, SOK:n omien tuotemerkkien hankintaketjuist
      Maailman menoa
      16
      574
    8. Nainen tosi ikävä sua

      Näkispä edes ohimennen
      Ikävä
      18
      558
    9. Haavoittuvuutesi on aseista riisuvaa

      Harmi, etten voi osoittaa sinulle tunteita. Hyvää yötä miehelle. Naiselta
      Ikävä
      43
      523
    10. Rakennus myynnissä

      Joko se loppuu mehtä hallitus sumilta?
      Suomussalmi
      10
      466
    Aihe