< návrat zpět

MS Excel


Téma: Kontrola nulových hodnot rss

Zaslal/a 2.9.2016 9:48

Dobrý den všem. Pro kontrolu nulových hodnot v rozpočtech jsem si vytvořil kupodivu funkční níže uvedené makro.

Sub NuloveHodnoty()
'
Range("I8").Select
ActiveCell.FormulaR1C1 = _
"=IF((ISBLANK(RC[-5])),"""",IF(RC[-2]<=0,""CHYBNÁ CENA"",""""))"
Range("I8").Select
Selection.AutoFill Destination:=Range("I8:I825"), Type:=xlFillDefault
Range("I8:I825").Select
Range("I8").Select

End Sub


Buňka I8 je buňka v prvním prázdném sloupci a na prvním textovém řádku rozpočtu. RC[-5] je označení sloupce pro měrné jednotky, RC[-2] je označení sloupce pro výsledný výpočet. Spustím-li makro, to mi označí řádky s nulovými výslednými výpočty.
Poprosím Vás o případné řešení, kdy po spuštění makra by se mi postupně měly objevit InputBoxy pro zadání těchto tří hodnot vzhledem k tomu, že každý rozpočet je jiný. Tyto zadané hodnoty by měly následně upravit makro pro správnou funkci toho kterého rozpočtu.
Předem děkuji a omlouvám se. VBA neumím a vzhledem k věku se asi už ani nenaučím 7

Zaslat odpověď >

Strana:  1 2   další »
#032590
avatar
Zkus to možná ještě trochu více a lépe popsat.

Jediné, co dělá tvé makro, je doplnění vzorce do sloupce I. Co má dělat po tomto? Má projít řádky s nezadanými měrnými jednotkami a nulovým nebo záporným výsledným výpočtem, a pomocí InputBoxu umožnit uživateli opravu hodnot? (Píšeš, že se mají zadávat tři hodnoty, jsi si jistý? Nemají se zadávat hodnoty dvě? Ta třetí už je přece ten vzorec...)
P.

Například nějak takto?
Dim i As Long

For i = 8 To 825
If Cells(i, 4) = "" Then
Do Until Cells(i, 4).Value <> ""
Cells(i, 4).Value = InputBox("Zadejte měrné jednotky do buňky " & Cells(i, 4).Address & "!", "Upozornění")
Loop
End If
If Cells(i, 7) <= 0 Then
Do Until Cells(i, 7).Value > 0
Cells(i, 7).Value = InputBox("Opravte výsledný výpočet v buňce " & Cells(i, 7).Address & "!", "Upozornění")
Loop
End If
Next i
citovat
#032593
avatar
Předně děkuji za reakci. Podle mě je potřeba zadat tři hodnoty, a to prázdnou buňku v prázdném sloupci vedle rozpočtu. Dále zadat sloupec s názvem měrných jednotek a dále sloupec s výpočty.

Například :
1 Elektroměrový rozvaděč RE1 ks 1,000 45 889,53 45 889,53 a buňka pro kontrolu

Makro prochází všechny řádky a označí ty s nulovou částkou. InputBox by měl řešit různou pozici výše zvýrazněných položek (sloupce pro MJ a výpočet, počáteční buňku pro kontrolu) v různých rozpočtech.citovat
#032595
elninoslov
Príloha by to snáď objasnila...citovat
#032601
avatar
Příklad rozpočtu a kontroly nulových hodnot.
Příloha: 7z32601_priklad.7z (54kB, staženo 23x)
citovat
#032630
elninoslov
Tak aj ja pridám príklad 1
Příloha: zip32630_priklad.zip (80kB, staženo 22x)
citovat
#032664
avatar
Díky. Nechápu co jsi svojí přílohou chtěl říct a jak mi tvoje příloha pomůže. 4citovat
#032666
avatar
Kliknul jsi na tlačítko "Kontrola"? ;-)
Pokud bys to chtěl vyloženě řešit přes InputBoxy, tak lze využít ten můj kód...
P.citovat
#032669
avatar
Tlačítko od elninoslova funguje perfektně. Ale asi to tak úplně neřeší můj problém. Za předpokladu že budu mít jiný rozpočet kde kontrolované hodnoty budou v jiných sloupcích, budu muset změnit hodnoty v makru. Navíc funkci Tlačítko už má elninoslov v rozpočtu pevně dané.
Řešení od Pavluse je jak jsem si to představoval, jenže mi úplně přesně nefunguje. První InputBox by se měl zeptat na sloupec s měrnými jednotkami. Druhý InputBox na sloupec s kontrolovanými výpočty a třetí InputBox na počáteční buňku od které bude vypisovat chybné výpočty.
Snad jsem popsal aspoň trochu srozumitelně.citovat
#032672
avatar
No jo, ale to jsi nám dříve neřekl :-).

Takže to shrňme:
1.) Makro musí být univerzální, a musí si samo najít, ve kterém sloupci je - doplň názvy ("MJ" a "J.cena [CZK]"?)... Bude alespoň označení těchto sloupců vždy na řádku 16?
2.) "Počáteční buňka, od které bude vypisovat chybné výpočty" - tím myslíš zadání řádku, od kterého bude probíhat kontrola buněk?

Jo a mimochodem, nebylo by lepší to řešit úplně bez maker? Jenom přes vzorce a podmíněné formátování? Například pokud bude prázdné pole množství nebo záporná cena, tak buňka zčervená...
P.citovat
#032676
avatar
Snažil jsem se to dříve říct, ale asi ne dostatečně srozumitelně.
ad 1) Ano, makro by mělo být univerzální s tím, že bych sám zadal sloupec pro MJ a sloupec pro celkovou cenu. Bohužel, sloupec pro MJ není vždy nazván MJ (Měrná jedn. apod.), taky sloupec pro celkovou cenu bývá nazván různě. První kontrolovaná cena začíná, bohužel, na různých řádcích dle toho na kolika řádcích je hlavička rozpočtu. Jestli se napíše vedle chybného řádku slovo chyba, nebo se vadný řádek zvýrazní, je mi celkem jedno.
Řešit se to může i bez maker jde-li to, šlo mi pouze o to abych nemusel u každého rozpočtu složitě upravovat hodnoty makra a mohl to řešit přes nějaké např. InputBoxy. Kontrolovat by se měl pouze celkový výpočet zda-li není nulový. Kontrola by se měla týkat pouze řádků s vyplněnou měrnou jednotkou.
Děkuji moc za snahu mi pomoct.citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje