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ž

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: 28
Registrován: březen 13
Pohlaví: Muž

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ž

Re: Zjednodušení makra

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

Děkuji za pomoc.

elninoslov
Level 1
Level 1
Příspěvky: 59
Registrován: červen 13
Pohlaví: Muž

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ž

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
  • Zjednodušení OS Android
    od bradto » 29 pro 2016 13:41 » v LiNuX a ostatní alternativní OS
    3
    314
    od Cleric
    29 pro 2016 14:28
  • Úprava Makra
    od jendavondra » 31 kvě 2017 13:55 » v Kancelářské balíky
    1
    289
    od d1amond
    31 kvě 2017 14:58
  • Úprava makra
    od Jsimi » 14 kvě 2017 10:27 » v Kancelářské balíky
    3
    430
    od d1amond
    15 kvě 2017 00:09
  • Makra v Excelu
    od MarkoSko » 20 dub 2017 09:22 » v Kancelářské balíky
    7
    458
    od MePExG
    24 dub 2017 09:33
  • Makra excel nebo open office
    od Alanos » 22 led 2017 12:07 » v Kancelářské balíky
    0
    196
    od Alanos
    22 led 2017 12:07

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

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 1 host