Saman Makron ajaminen valituilla "sheets"

Makro-Marko

Miten yhden ja saman makron saa ajamaan "vain" valitut sheetit työkirjassa.

Makro ajaetaan esimerkiksi
Sheet1, Sheet3, Sheet5

Sub Laske()
Range("CJ1").Formula = "=IF(ISERROR(SUM(CD1/CC1)*(X1)),""0"",SUM(CD1/CC1)*(X1))"
Range("CK1").Formula = "=IF(ISERROR(SUM(CD1 CE1)/(CC1)*(X1)),""0"",SUM(CD1 CE1)/(CC1)*(X1))"
Range("CL1").Formula = "=IF(ISERROR(SUM(CD1 CE1 CF1)/(CC1)*(X1)),""0"",SUM(CD1 CE1 CF1)/(CC1)*(X1))"
Range("CM1").Formula = "=IF(ISERROR(SUM(CH1/CC1)*(X1)),""0"",SUM(CH1/CC1)*(X1))"
Range("CJ1:CM1").AutoFill Destination:=Range("CJ1:CM16"), Type:=xlFillDefault
End Sub


( En hae Call Macro kun niitä on nyt niin paljon kun innostuin liikaa että homma karkaa käsistä, oikeesti.)

6

344

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • okraM-okraM

      Oheisella makrolla voit suorittaa halutun sub:n valituissa työkirjoissa. Eli sun pitää ensin cotrolli pohjassa valita alapalkista työkirjat missä haluut tuon Laske() makron ajaa.

      Sub Testi()
      Dim taulukot As Worksheet
      For Each taulukko In ActiveWindow.SelectedSheets
      taulukko.Select
      Call Laske
      Next
      End Sub

      • okraM-okraM

        oho tuohon jäi tuo muuttujan määrittely vahingossa, edellä oleva sub pelaa koska siinä muuttujan määrittelyssä on kirjoitusvirhe, mutta se on turha ja sen rivin voi poistaa.


      • Makro-Marko

        "Eli sun pitää ensin cotrolli pohjassa valita alapalkista työkirjat missä haluut tuon Laske() makron ajaa."
        Olen kyl niin aloittelija etten ymmärrätänyt mitä pitää ja mistä pitää tehdä? Mä vaan heitän moduliin koodeja muusta en tiedä.

        Mut hei, eikös allaoleva sivua kait aika paljon tuota sinun koodausta. Tuohan kanssa kutsuu Sub Laske makron. Saiskohan valaistusta miten annetaan käsky että se ajaa vain kyseiset "sheet1", "Sheet2", "Sheet3" taulukot.
        Nyt tuo makro kieltää ajamasta nuo taulukot ja ajaa kaikki muut taulukot aktiivisessa työkirjassa.


        Olen yrittänyt modaa mutta taidot ei riitä, se huutaa aina vaan virhettä. Kun ei osaa niin ei osaa!




        Sub RunRun()
        Dim wS As Worksheet
        For Each wS In ActiveWorkbook.Worksheets
        If wS.Name = "Sheet1" Or _
        wS.Name = "Sheet2" Or _
        wS.Name = "Sheet3" Then
        ''''do nothing
        Else
        wS.Select
        Laske ' 


      • ...
        Makro-Marko kirjoitti:

        "Eli sun pitää ensin cotrolli pohjassa valita alapalkista työkirjat missä haluut tuon Laske() makron ajaa."
        Olen kyl niin aloittelija etten ymmärrätänyt mitä pitää ja mistä pitää tehdä? Mä vaan heitän moduliin koodeja muusta en tiedä.

        Mut hei, eikös allaoleva sivua kait aika paljon tuota sinun koodausta. Tuohan kanssa kutsuu Sub Laske makron. Saiskohan valaistusta miten annetaan käsky että se ajaa vain kyseiset "sheet1", "Sheet2", "Sheet3" taulukot.
        Nyt tuo makro kieltää ajamasta nuo taulukot ja ajaa kaikki muut taulukot aktiivisessa työkirjassa.


        Olen yrittänyt modaa mutta taidot ei riitä, se huutaa aina vaan virhettä. Kun ei osaa niin ei osaa!




        Sub RunRun()
        Dim wS As Worksheet
        For Each wS In ActiveWorkbook.Worksheets
        If wS.Name = "Sheet1" Or _
        wS.Name = "Sheet2" Or _
        wS.Name = "Sheet3" Then
        ''''do nothing
        Else
        wS.Select
        Laske ' 

        Sub RunRun()
        Dim wS As Worksheet
        For Each wS In ActiveWorkbook.Worksheets
        If wS.Name = "Sheet1" Or _
        wS.Name = "Sheet2" Or _
        wS.Name = "Sheet3" Then
        wS.Select
        Laske '  <  <  <  < sub Laske
        End If
        Next
        End Sub


      • Makro-Marko
        ... kirjoitti:

        Sub RunRun()
        Dim wS As Worksheet
        For Each wS In ActiveWorkbook.Worksheets
        If wS.Name = "Sheet1" Or _
        wS.Name = "Sheet2" Or _
        wS.Name = "Sheet3" Then
        wS.Select
        Laske '  <  <  <  < sub Laske
        End If
        Next
        End Sub

        Tunnen itseni tosi tyhmäksi, siitä otettiin välistä pois ainoastaan Else, oppi kuitenkin jotain uutta mikä on hyvä juttu.
        Toi ''''do nothing ei ole aktiivinen kun siinä on ne heittismerkkit edessä. Mutta kiitos!


      • Makro-Marko kirjoitti:

        Tunnen itseni tosi tyhmäksi, siitä otettiin välistä pois ainoastaan Else, oppi kuitenkin jotain uutta mikä on hyvä juttu.
        Toi ''''do nothing ei ole aktiivinen kun siinä on ne heittismerkkit edessä. Mutta kiitos!

        turhat luupit ja jossittelut pois...
        Sub RunRun
        Dim Taulukko as WorkSheet
        For Each Taulukko In Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
        Taulukko.Activate
        Laske
        Next
        End Sub


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

    Luetuimmat keskustelut

    1. Kansalla on oikeus tietää miksi persut pettävät

      Koko kulunut hallituskausi on kysytty persuilta, minkä vuoksi he ovat pettäneet käytännössä jokaisen vaalilupauksen, ain
      Maailman menoa
      60
      7512
    2. Venäjän armeijan evp-upseeri: Armeija surkeassa tilassa, jonka läpäisee kaiken kattava

      valehtelu. Venäläiset alkaneet pohtia julkisesti maan todellisia tappioita. Z-bloggari ja 3. luokan kapteeni (evp.) Mak
      Maailman menoa
      123
      2936
    3. Minkälaisen viestin

      Laittaisit ikävöinnin kohteelle, jos rohkenisit?
      Ikävä
      142
      1776
    4. Kansalla on oikeus tietää mikä on SDP:n talousohjelma jolla maan talous

      saadaan nousuun? Miksi puolue piilottelee sitä, vai eikö sitä ole? Tähän asti olemme vaan saaneet kuulla hallituksen ha
      Maailman menoa
      65
      1649
    5. Ammattiliitto 900 euroa/vuosi - Työttömyyskassa 72 euroa/vuosi

      Ammattiliitosta eroamalla voi säästää jopa 800 euroa vuodessa. Mitä enemmän tienaat, sitä enemmän maksat liitolle. Esim
      Maailman menoa
      115
      1458
    6. Miten voit olla niin tyhmä

      että et tajunnut että sua vedätettiin? Tietäisitpä miten hyvät naurut on saatu. Naiselle
      Tunteet
      167
      1404
    7. Missä vaiheessa

      Päätit irl luovuttaa minun suhteeni?
      Ikävä
      131
      1153
    8. Millaisena uskot

      Kaivattusi kokevan tunteensa?
      Ikävä
      77
      853
    9. Kyriake=Kirkko

      Kirkko, Kyriake Kirkko-sana tulee kreikankielen sanasta Kyriake=Herran omat, Kristuksen omaksi kastettujen suuri joukko
      Kaste
      47
      802
    10. Mitä haluat eniten

      Kaivattusi kanssa?
      Ikävä
      52
      745
    Aihe