Komentáře Jak na řádky a sloupce v makrech

user avatar Franta
Odpovědět
Jak na řádky a sloupce v makrech
25. 11. 2015, 11:56:19
Dobrý den
Nepotřebuji hledat v celém sešitu,ale ve sloupci nebo řádku.
zatím jsem to nikde nenašel.
děkuji Franta
user avatar neutr
Odpovědět
Re:Jak na řádky a sloupce v makrech
25. 11. 2015, 13:39:44
Víte Search descriptor (to co uvádá Daniel) je opravdu rychlý. Najde start a End úsek v sešitě, což jsou sloupce a řádky - například A1:Z1023. Systémem "metelsku blesku" najde hledané a nahradí dle zadání.

Je samozřejmé, že někdy je potřeba jen vybarvit, nebo sečíst počet výskytů a podobné záležitosti. To se dá také udělat descriptorem.

Já mám osobně nepříjemný dojem, že Daniel práci nestačil, nebo nemohl ap. - dokončit. Dnes v podstatě podobné téma (prakticky stejné ale v plné šíři) zpracovává Eduard Boldižár. Ale asi uplyne hodně dílů (díl za 2 týdny) nežli se dopracuje k descriptoru a podobným věcem.

Ale můžete dát dotaz do fóra. Nejméně Vám já osobně odpovím. Mám několikero maker na bázi descriptoru, ale mám i takové, která hledají jen v jediném sloupci (řádku). Descriptor pracuje s array (proto ta rychlost) ale můžeme hledat i relativně pomaleji například pomocí While.., Do.., For.. a podobně.
user avatar lp.
Odpovědět
Jak na řádky a sloupce v makrech
25. 11. 2015, 23:30:38
Tak vytvoř search/replace descriptor nad jiným objektem, třeba řádkem nebo sloupcem, pro range:

CellRange = Sheet.getCellRangeByPosition(2,1,5,1)
Descript = CellRange.createSearchDescriptor()
user avatar Franta
Odpovědět
Jak na řádky a sloupce v makrech
27. 11. 2015, 10:32:39
Dobrý den
Něco jsem poskládal ale nefunguje to kde jsem udělal chybu?
sub vyhledej_0123456789_mazat
dim document, dispatcher, vyber as Object
Dim sloupec2
doc = ThisComponent
list = doc.sheets(0)
sloupce = List.columns
'Sloupek C
sloupec2 = sloupce.getByIndex(2)
hledej=sloupec2.CreateReplaceDescriptor
hledej.SearchRegularExpression = True
hledej.SearchString = "0123456789"
hledej.ReplaceString = ""
sloupec2.ReplaceAll(hledej)
end Sub
moc děkuji Franta
user avatar neutr
Odpovědět
Jak na řádky a sloupce v makrech
27. 11. 2015, 13:06:51
Otestujte tohle. Nesmíte ale zapomenout, že hledáte string. Problém s hledáním čísel není, ale normálně se uvozující nula nezobrazuje takže abyste našel 0123456789 tak to musí být text '0123456789, nebo "0123456789".

sub vyhledej_0123456789_mazat
'Sheet = ThisComponent.Sheets.getByName("List1") 'varianta deklarace
Sheet = ThisComponent.Sheets.getByIndex(0)
CellRange = Sheet.getCellRangeByPosition(1,0,1,100000) 'array B1:B100001
'To CellRange můžete nahradit čímkoliv třeba tím Vaším sloupcem
Descript = CellRange.createSearchDescriptor()
hledej=CellRange.CreateReplaceDescriptor
hledej.SearchRegularExpression = True
hledej.SearchString = "0123456789"
hledej.ReplaceString = ""
CellRange.ReplaceAll(hledej)
end Sub

Když zadáte opravdu číslo, tak potom zapište :
hledej.SearchString = 123456789

Jinak tohle je opravdu na Fórum - sem tyhle dotazy nepatří.
user avatar petouf
Odpovědět
Jak na řádky a sloupce v makrech
12. 11. 2019, 14:19:11
Jenom k té šířce: OptimalWidth a né OptimalWeight :-D
Stálo mě to 2 hodiny pokusomylů...
Ale stejně mě to nefunguje. Pevná šířka ano, ale když dám optimal tak se mě sloupce ani nehnou... No jdu bádat :-)
Jinak dík autorovi za bezva návody. A nevíte někdo, kde se nechá sehnat kompletní dokumentace k Basicu (nejlépe v Č.J.) pro makra v CALCu?
IT Systems - předplatné

Public Relations

Jak si zabezpečit servery?

DNSSECPokud chce moderní člověk plně využívat to, co mu virtuální svět internetu nabízí, musí se stále více orientovat na bezpečnost. Musí činit kroky, jež ho ochrání před riziky, jež se právě na této síti skrývají a dnes a denně uživatele ohrožují.

Pokračování ...


 
 
woo jaw demo hz