Zjednodušení makra Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

macamaple
nováček
Příspěvky: 3
Registrován: srpen 17
Pohlaví: Muž
Stav:
Offline

Zjednodušení makra

Příspěvekod macamaple » 14 srp 2017 13:08

Dobrý den,

jsem začátečník a nedaří se mi zjednodušit následující makro:

If Worksheets("inventory").Range("A10") = 1 Then
a = Worksheets("inventory").Range("M10")
Worksheets("inventory").Range("M10") = a + Worksheets("inventory").Range("A10")
End If

If Worksheets("inventory").Range("A11") = 1 Then
a = Worksheets("inventory").Range("M11")
Worksheets("inventory").Range("M11") = a + Worksheets("inventory").Range("A11")
End If

If Worksheets("inventory").Range("A12") = 1 Then
a = Worksheets("inventory").Range("M12")
Worksheets("inventory").Range("M12") = a + Worksheets("inventory").Range("A12")
End If

If Worksheets("inventory").Range("A13") = 1 Then
a = Worksheets("inventory").Range("M13")
Worksheets("inventory").Range("M13") = a + Worksheets("inventory").Range("A13")
End If

If Worksheets("inventory").Range("A14") = 1 Then
a = Worksheets("inventory").Range("M14")
Worksheets("inventory").Range("M14") = a + Worksheets("inventory").Range("A14")
End If

až po řádek např. 1000. Skoušel jsem to vypsat ale VBA mi napsalo procedure too large.

Můžu poprosit o radu? Děkuji

Reklama
a.mlady
nováček
Příspěvky: 32
Registrován: březen 13
Pohlaví: Muž
Stav:
Offline

Re: Zjednodušení makra

Příspěvekod a.mlady » 14 srp 2017 13:39

Dobrý den, snad takto.

Kód: Vybrat vše

Sub plus()

For a = 0 To 999
If Worksheets("inventory").Range("A10").Offset(a, 0) = 1 Then
Worksheets("inventory").Range("M10").Offset(a, 0) = Worksheets("inventory").Range("M10").Offset(a, 0) + Worksheets("inventory").Range("A10").Offset(a, 0)
End If
Next a

End Sub


Případně jde i zrušit "Worksheets("inventory").", když to bude přímo napsáno v listu a ne v modulu.

macamaple
nováček
Příspěvky: 3
Registrován: srpen 17
Pohlaví: Muž
Stav:
Offline

Re: Zjednodušení makra

Příspěvekod macamaple » 14 srp 2017 13:49

Děkuji za pomoc.

Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 366
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline

Re: Zjednodušení makra

Příspěvekod elninoslov » 14 srp 2017 15:21

Veď k stĺpcu M iba pripočítate 1 ak je v A hodnota 1, teda stačí jeden riadok

Kód: Vybrat vše

Worksheets("inventory").Range("M10:M1000").Value2 = Evaluate("=('inventory'!A10:A1000=1)*('inventory'!M10:M1000+1)")

macamaple
nováček
Příspěvky: 3
Registrován: srpen 17
Pohlaví: Muž
Stav:
Offline

Re: Zjednodušení makra  Vyřešeno

Příspěvekod macamaple » 14 srp 2017 15:28

Jěště jednou všem děkuji.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    260
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů