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.

Uživatelský avatar
elninoslov
Level 1.5
Level 1.5
Příspěvky: 140
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
  • Tvorba makra v excelu
    od micka » 27 dub 2018 08:56 » v Kancelářské balíky
    4
    363
    od micka
    27 dub 2018 10:41
  • VBA makra Excel
    od Dawyck » 29 pro 2017 17:19 » v Kancelářské balíky
    3
    362
    od Dawyck
    29 pro 2017 20:45
  • Kopírování obrázků pomocí makra v excelu - rada
    od razor339 » 14 říj 2017 17:50 » v Kancelářské balíky
    1
    395
    od xlnc
    18 říj 2017 20:53
  • Automatické spuštění makra po změně buňky
    od Wertigo » 27 zář 2017 10:14 » v Kancelářské balíky
    3
    560
    od Wertigo
    29 zář 2017 08:31
  • Access 2016 > uložený export do makra
    od palap » 04 dub 2018 09:50 » v Vše ostatní (sw)
    0
    235
    od palap
    04 dub 2018 09:50

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

Kdo je online

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