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

360

    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. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      104
      2617
    2. Kyläkauppias ajoi kännissä töistä kotiin

      Ei edes kallis auto estä humalassa ajamista, vaikka luulisi alkolukko olevan sellaisessa jo vakiovarusteena. https://ww
      Maailman menoa
      101
      1667
    3. Tiedän satavarmasti ettet tule koskaan

      Uskaltamaan mitään. Ei me tulla edes näkemään koskaan.
      Ikävä
      67
      1515
    4. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      14
      1226
    5. Kiitos upeasta palvelusta kukkamyyjä

      Kiitos sinulle upea kaunis kukkamyyjä Kuhmon torilla 🌹 Upea iloinen asenteesi ja kaunis hymysi pelasti päiväni ❤️ Jäi
      Kuhmo
      22
      1028
    6. Miks me oikein

      Rakastuttiin vaikka kaikki on mahdotonta?
      Ikävä
      81
      963
    7. Miehet trikoissaan

      On se kauhian näkköistä, kun miehet tiukossa trikkoissa juoksentelloo ja mulukku paestaa trikkoijjen läpi. Kahtokkee pe
      Suomussalmi
      44
      911
    8. Ratikka Turkuun

      Ei hyvä. Ja syy on siinä , kukaan ei osaa suunnitella oikeaa reittiä. Pitää huomioide, kiskoja sijaintia ei voi muutta
      Turku
      119
      896
    9. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      334
      814
    10. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      54
      813
    Aihe