Zjistit počet řádků MS EXCEL v .NET 2005   zodpovězená otázka

Office

Používám v jednom podprográmku zápis do XLS souboru pomocí příkazu

 appExcel.Workbooks("soubor.xls").Worksheets("List1").range("A1").Offset(1).value() = Hodnota

potřeboval bych nějak zjisti kolik má soubor řádků. Nejlépe modifikací tohoto příkazu. Nemáte nekdo k dispozici seznam příkazů které se dají v tomto znění aplikovat?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Chtělo by to trochu upřesnit zadání. Předně, v Excelu není nic takového jako "počet řádků v souboru". Možná chcete vědět, kolik řádků za sebou má, řekněme, neprázdnou hodnotu ve sloupci č. 1. Tedy, chcete zjstit, na jaký řádek by to najelo, kdybyste v Excelu použil Ctrl+End.

Pokud je to to, co chcete, tak nastavte aktivní buňku a pak zaexperimentujte s

ActiveCell.SpecialCells(xlLastCell).Select

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
'skrzeva current region
radky = appExcel.Workbooks("soubor.xls").Worksheets("List1").range("A1").CurrentRegion.Rows.Count

'je-li Areas.Count = 1
radky = appExcel.Workbooks("soubor.xls").Worksheets("List1").range("A1").UsedRange.Rows.Count
'specialcells a worksheet function 
set myRange=worksheets("List1").usedrange 
'vybrat prázdné 
myRange.SpecialCells(xlCellTypeBlanks).select 
'spocitat prazdne 
prazdne=myRange.SpecialCells(xlCellTypeBlanks).count 
'nebo taky prazne 
prazdne=WorksheetFunction.CountBlank(myRange) 
'kolik vyplnenych 
neprazdne=WorksheetFunction.CountA(myRange) 
'celkem jich je 
vsecky=myRange.cells.count 

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Diky moc, potreboval jsem prvni radek ...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen s malou změnou:

Počet řádků oblasti kolem buňky A1 aktivního listu

radky = activesheet.cells(1).currentregion.rows.count

Ano, jen první řádek, ale věřím, že možností

bude více, můžou se vyskytovat prázdné řádky

nebo sloupce,čímž se to patřičně zkomplikuje,

tak berte zbylé řádky kódu se spočítáním buňěk

jako bonus navíc pro případ procházení sloupců

a řádků v listě pro zjištění velikosti oblasti.

Mnoho zdaru!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ještě šikovná funkce je:

konec = Worksheets("List1").Range("B2000").End(xlUp).Row

nalezne poslední obsazenou buňku v definované oblasti, respektive kolikátý to je řádek.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano,znám ji,šikovná je,ale konec je dole..

Nemá být End(xlDown) ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nemá :-). VBA takhle zjistí první obsazený řádek odspodu. Tzn. když máš obsazené řádky 1, 2, 3 a 10, pak to najde 10. Pokud bys vyhledával od vrchu, pak by to našlo 3.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback