Ahoj, potřeboval bych poradit s řešením této úlohy, protože si s ní naprosto vůbec nevím rady...:
Do buňky A1 napiš slovo číslo.
Udělej makro s následujícími podmínkami:
1.Při spuštění se ukáže formulář "Zadej počet čísel:"
2.Po té pomocí formuláře zadáte jednotlivá čísla pod buňku A1. Text ve formuláři bude: "Zadej 1. číslo:", "Zadej 2. číslo:", atd. Čísla se zadávají jak kladná tak záporná.
3.Po zadání čísla se vynechá jeden řádek a pak do prvního sloupce se postupně vypíše Minimum, Maximum, Průměr a vedle jednotlivé hodnoty.
4.Průměr musí být vložen jako funkce Průměr(vzorec).
5.porovná všechny zadané buňky s průměrem a provede následující formátování:
◦Buňky menší než průměr budou mít červené pozadí, modré písmo, kurzívu a přeškrtnutí
◦Buňky větší než průměr budou mít zelené pozadí, žluté písmo, tučné a podtrhnutí jednoduché
◦Buňky rovnající se průměru budou mít černé pozadí, bílé písmo, velikost 20 a dvojité podtrhnutí
◦Buňky s textem průměr a se vzorcem průměru budou mít horní silné ohraničení a buňka se vzorce bude mít zelené pozadí.
Předem moc díky za odpověď
Problém s řešením úlohy ve VBA
Moderátor: Mods_senior
Re: Problém s řešením úlohy ve VBA
Zde je nástin toho zadávání čísla,
zbytek je už jen použití vzorců a podmíněného formátování.
zbytek je už jen použití vzorců a podmíněného formátování.
Kód: Vybrat vše
Sub ZadaniCisel()
Dim Cislo As Byte
For Cislo = 1 To InputBox("Zadejte pocet cisel", "Formuláø")
Cells(Cislo, 1) = InputBox("Zadejte císlo " & Cislo, "Formuláø")
Next
End SubRe: Problém s řešením úlohy ve VBA
Díky, ještě bych potřeboval vědět, co s tou minimální hodnotou, maximální hodnotou a průměrem, teda konkrétně, jak napsat ten příkaz, aby se ty hodnoty vypsaly do nějakého sloupce. :)
Re: Problém s řešením úlohy ve VBA
Třeba
Kód: Vybrat vše
Sub ZadaniCisel()
Dim Cislo As Byte
Dim PocetCisel As Byte
PocetCisel = InputBox("Zadejte pocet cisel", "Formulá?")
For Cislo = 1 To PocetCisel
Cells(Cislo, 1) = InputBox("Zadejte císlo " & Cislo, "Formulá?")
Next
Cells(1, 2) = WorksheetFunction.Min(Range(Cells(1, 1), Cells(PocetCisel, 1)))
Cells(1, 3) = WorksheetFunction.Max(Range(Cells(1, 1), Cells(PocetCisel, 1)))
Cells(1, 4) = WorksheetFunction.Average(Range(Cells(1, 1), Cells(PocetCisel, 1)))
End Sub
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek

