Nejste přihlášen/a.
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.
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
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.
Moc děkuji.
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.
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
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.