Nejste přihlášen/a.

Přihlásit se do poradny

 

Excel makro - technické řešení

Od: makro odpovědí: 5 změna:

Dobrý den, potřeboval bych v označených buňkách zvýšit hodnotu o 15%, jedná se o numerický obsah buněk.

Našel jsem makro pro zvýšení hodnoty buňky o 10%:

Sub Nasobeni()
ActiveCell.Value = ActiveCell.Value * 1.1
End Sub

Jenže po aktivaci makra toto funguje pouze na aktuálně označenou jednu buňku. Existuje řešení pro více zároveň označených buněk nebo pro celý list?

Děkuji.

 

 

5 odpovědí na otázku
Řazeno dle hodnocení

 

 

figurek*
hodnocení

2x

Activecell znamená aktivní buňka. Jestli chcete upravovat víc buněk najednou, pak potřebujete oblast Range a její deklarovanou proměnnou cell. Rozsah Range si můžete jakkoliv upravit, já jsem ho popsal pro buňky A1 až A10.

*

Option Explicit
Dim cell As Range

Sub Macro1()
For Each cell In Range("A1:A10")
cell.Value = cell.Value * 1.1
Next cell
End Sub

Excel makro - technické řešení
makro
hodnocení

Ou jeee, to je přesně ono. Moc díky.

A ještě poslední věc...jak takhle v makru vyjádřím, že chci zvýšit hodnotu buňky o 13% eventuálně o 15%?

Díky, moc jste mi pomohl.

figurek*

cell.Value = cell.Value * 1.13

cell.Value = cell.Value * 1.15

makro
hodnocení

Moc děkuji.


doplněno 17.02.16 20:55:

Možná poslední věc...když jsou mezi číselnými buňkami, kterých se makro týká, ještě buňky s textovým obsahem, kterých se makro netýká (a které makro matou), je možné, aby makro textové buňky ignorovalo a zaměřilo se pouze na buňky čistě číselné? Zkoušel jsem různě, ale fakt si s tím nevím rady. Potřebuji prostě ceny dodavatele navýšit o provizi. Manuálně bych to dělal měsíc.

figurek*

přidejte logickou funkci, zda je hodnota v buňce číslo. Když v buňce je číslo, pak se vynásobí indexem. Když v buňce není číslo, makro všechno uvnitř podmínky přeskočí a s buňkou nic neudělá.

*

Sub Macro2()
For Each cell In Range("A1:A10")
If IsNumeric(cell.Value) = True Then
cell.Value = cell.Value * 1.1
End If
Next cell
End Sub

Excel makro - technické řešení #2

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]