< návrat zpět

MS Excel


Téma: Přidávání záznamů rss

Zaslal/a 16.6.2010 18:00

Ahoj všichni, dnes jsem si vytvořil svůj první formulářík v Excelu s rozpačitým výsledkem. Nepodařilo se ho "přemluvit" aby po spuštění procedury comand butonu zadával data do nového řádku. Data neustále přepisuje. Nejspíš to bude špatné namapování první volné buňky. (potřebuji aby začínala až na 3 řádku)

NextRow = Application.WorksheetFunction.CountA(Range("A:A 3:3")) + 1

Omlouvám se za Lamovský dotaz ale opravdu s tím už bojuju.
Mým cílem po dokončení je vytvoření tabulky, který bude plnit funkci záznamu různých hlášení.
Děkuji za jakoukoliv radu...

Příloha: rar1808_kniha__hlaseni.rar (29kB, staženo 31x)
Zaslat odpověď >

icon #001810
Poki
Funkce CountA, kterou pouzivate pro stanoveni prazdne bunky umi pouze spocitat, kolik zaznamu je v zadane oblasti.
Pokud mate tedy sloupec, kde se bude ve dvou radcihch (v prvnim a druhem) nachazet zahlavi, pak lze pouzit v tomto tvaru
NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1,
kde +1 uda dalsi radek od posledniho zaplneneho, ale POZOR, nesmite mit zadnou prazdnou bunku ve sloupci A pred zahlavim...citovat
#001811
avatar
Děkuji za radu. Už to funguje. Teď jen najít způsob jak vytvořit pořadové číslo:)tzn. předchozí číslo (záznam) +1citovat
icon #001812
Poki
Myslim, ze postaci, kdyz do textboxu nactete posledni cislo +1 (jen pozor na situaci, kdy se zadava prvni zaznam).
posledni cislo je: cells(Application.WorksheetFunction.CountA(Range("A:A")),1)

Taky chci upozornit, ze tento sloupec udava pocet zaznamu, takze musite doplnit poradove cislo az po doplneni ostatnich dat v radku (pokud byste doplnil nejdrive poradove cislo, ostatni hodnot by byly o radek nize).citovat
#001813
avatar
Musím se přiznat, že to toto už je na mě vyšší dívčí. Nějak mi uniká použití toho textboxu do kterého mám načítat poslední hodnotu.

Šel jsem na to takto:

Cells(NextRow, 1) = Cells(Application.WorksheetFunction.CountA(Range("A:A")), 1) + 1

Řešení funguje, ALE hází chybu když v tabulce nejsou žádné záznamy. Takže vlastně nepoužitelné. Každopádně děkuji za snahu.citovat
icon #001814
Poki
chapu - zkuste prilozit posledni verzi vaseho souboru, pridelam vam to tam...citovat
#001815
avatar
Děkuji za velmi vstřícný přístup.
Příloha: zip1815_kniha__hlaseni.zip (39kB, staženo 33x)
citovat
#001816
Jeza.m
Když tak koukám na ten příklad tak by klidně šlo použít: Cells(NextRow, 1) = nextrow-2
kdy -2 = dva řádky hlavičky :-), ale sám bych šel cestou vyhledání nejvyšší hodnoty ve sloupci A a k té bych přičetl 1:Cells(NextRow, 1) = Application.WorksheetFunction.Max(Range("A:A")) + 1

M@citovat
icon #001817
Poki
asi takto
Příloha: zip1817_kniha__hlaseni2.zip (41kB, staženo 39x)
citovat
#001819
avatar
Děkuju moc chlapi. Obě řešení jsem zkoušel a fungují. Doufám, že i dalším začátečníkům tohle může pomoct. Je spousta jiných dotazů, která mě v téhle chvilce napadají ale nejspíš půjdu a koupím si knížku o VBA nebo tu nahodím další vlákno. 2citovat

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