Stránka 1 z 1

EXCEL - MAKRO  Vyřešeno

Napsal: 22 bře 2012 09:20
od jakubs
Dobrý den,
Před časem jsem tu řešil problém ohledně makra a výpočtů v tabulce. Po pár dnech používání se mi vyskytli určité věci, které bych potřeboval změnit a bude to dokonalé. Konkrétně potřebuji toto:

1. Vzhled listu Výpočty bych potřeboval změnit tak, jak je to na přiloženém printscreenu

2. U druhého druhého tlačítka v poli POČET se ve skutečnosti počítá něco jiného než jsem původně chtěl. Potřebuji, aby pole obsahovalo počet hodnot ve sloupci Na Účtárně, ale pouze těch, které mají status A.

2. 3. tlačítko funguje správně, ale zase v poli počet nepočítá s tím, že může být i neurgovaná částka na účtárně, která zmizí ze sloupce NA ÚČTÁRNĚ a přesune se do sloupce ZAPLACENO. V tuto chvíli bych potřeboval, aby se mi už nezapočítávala do pole POČET u 3.tlačítka.

4. Potřeboval bych vytvořit ještě jedno tlačítko (viz printscreen) CELKEM ZAPLACENO Z URGOVANÝCH +počet (hodnoty ve sloupci ZAPLACENO se statusem A) a pak ještě jedno tlačítko CELKEM ZAPLACENO Z NEURGOVANÝCH + počet (hodnoty ve sloucpi ZAPLACENO se statusem N)


Mockrát děkuji!

Re: EXCEL - MAKRO

Napsal: 22 bře 2012 11:06
od Azuzula
Ad bod 1. tohle není tak složité aby jste to nezvládl sám připravit předem...
Snad jsem dobře pochopila bod 2 a 3. Mimochodem byla to úprava kterou by zvládl kdokoliv kdo se chce trochu naučit. Předtím makro počítalo počet "A" a "N" nikoliv počet částek, byl to omyl ve snaze zjednodušit makro.
Bod 4. Pouhé kopírování dvou předchozích maker se změnou kontroly sloupku a následného zápisu do jiné buňky.
Mám za to, že není tak složité na to přijít, stačí jen hledat třeba v nápovědě, nebo na googlu nějaký tutorial. Nemyslím si, že by pochopení běhu tohoto makra i bez komentářů bylo nějak obtížné.

Jedno makro s komentářem pro Vaši informaci pokud máte zájem to pochopit.

Kód: Vybrat vše

Sub urgovane()
Dim a, i, castka, pocet As Double 'deklarace proměnné

Application.ScreenUpdating = False 'zruší obnovení obrazovky - urychlí to běh makra
Sheets("EVIDENCE").Select 'změna listu

a = Cells(Rows.Count, 2).End(xlUp).Row + 2  'počítá množství záznamů

    For i = 1 To a 'začátek cyklu (kde "i" je číslo 1 až počet záznamů "a")
        If Cells(i, 6) = "A" Then 'když v buňce(řádek i, sloupek 6) je "A" tak
        castka = Cells(i, 5) + castka 'částka z buňky(řádek i, sloupek 5) se přičte k předchozí částce
        If Cells(i, 5) > 0 Then pocet = pocet + 1 'kontrola zda je v buňce(řádek i, sloupek 5) číslo větší než nula potom započítá množství těchto čísel
        End If
    Next 'opakování cyklu dokud se nedostane na poslední záznam
   
Sheets("výpočty").Select 'změna listu
Range("B6").Value = castka 'zapíše částku
Range("F6").Value = pocet 'zapíše počet částek
Application.ScreenUpdating = True 'povolí obnovení obrazu
End Sub