Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  183 184 185 186 187 188 189 190 191   další » ... 286

Pr.

Urobil som Vám radšej makro na výcuc slov zo Slovenského slovníku na AZET-e. Je to 70K slov. Makro nechajte dobehnúť, zobrazia sa v stĺpci A.

Skúste ešte toto, vylúčenie 3 po sebe idúcich samohlások/spoluhlások, príliš som to netestoval - ide hokej ...

Ak sa niekomu chce, tak mrknite, či na to idem správne. Teda iba čo sa výsledku týka. To, že používam metódu textu neriešme. Tých pár sek. spracovania stringov nás nezabije.

Aj keď som vyradil opakujúce sa časti po sebe, aj tak je pri priezvisku 80K kombinácií. A to sa mi vážne nechce medzi tým rúčo hľadať nejaký zmyselný výsledok...

EDIT:
Napadlo ma ešte nezahrnúť do výsledkov tie, ktoré obsahujú 3 po sebe idúce samohlásky alebo spoluhlásky. Dodám niekedy medzi hokejmi :)

No ja som si zo zaujímavosti urobil rekurzívny algoritmus, a mne za pár sekúnd vyjde 1 000 000 kombinácií, a to som zakázal 2 rovnaké znaky po sebe. Dostanem sa po "GJEAEJAE". Kde chodíte na také malé čísla ? 1
Ak to nechám dobehnúť, čo je niekoľko minút, tak mám 3 709 118 kombinácií.

Kurňa niečo robím zle, musím na to ešte mrknúť.

Neskôr si pozriem Vaše spomínané linky...

EDIT: Aha, no tak nič, celú logiku mám na prd. Ignorujte pls...

a) Vzorec sa mi zdá fakt dlhý ...
b) Obyčajná podmienka prepočet nevyrieši ?

xlnc by to, čo vymýšľate, nazval "bejkárny". A správne. Prerobil som to, zatiaľ bez CLEAN (lebo ničí aj CHR(10), ale to by sa dalo vybaviť dočasným nahradením...), ale :

-nieje mysliteľné, aby makro prechádzalo každé jedno písmenko, zisťovalo si o ňom všemožné formátovanie (font, veľkosť, rez, farba, index, ...)
-potom prečistilo nadbytočné medzery, s tým, že bude po každom výmaze prepočítavať a prepisovať formáty všetkých písmeniek po jednom, aby boli tak ako predtým výmazom nadbytočnej medzery
-až potom skontrolovalo podmienky vkladania textu Zač/Kon
-a následne zopakovalo cirkus s premiestňovaním formátov každého písmenka

S toho vyplýva toto moje riešenie, ktoré nepočíta so žiadnym iným formátom textu, iba podľa presne daných pravidiel. Teda tie kľúčové slová "služba", "príslužba", "dodatok", "neop.", "Začiatok hod." & Chr(10) & "Koniec hod." sa zafarbia, a ak bolo iné zafarbenie podľa ľubovôle kolegyne, tak sa zruší.

Čo už, presná odpoveď na otázku ... 6 strán na 1, to bude hardcore.

Príklad:
Sub Tlac1Strana()
With ActiveSheet
With .PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut
End With
End Sub

Je to možné, pretože mne to funguje. Podľa mňa nemáte korektne uložené makro v Personal.xlsb.
Otvorte si Poznámkový blok, skopčite si tam kód makra. Zatvorte všetky zošity. Vytvorte jeden nový čistý. Dajte nahrať makro, kde v okne napíšte názov makra napr. "VlozText", klávesovú skratku "m" (to bude potom Ctrl+Shift+M), prípadný nejaký krátky popis, ale hlavne nastavte uložiť do "Zošit osobných makier". Zastavte záznamník makra. Vo VBA vložte telo kódu z poznámkového bloku do nahraného makra vo VBA. Vo VBA stlačte Uložiť. Zatvorte Excel, bude sa pýtať na uloženie nového súboru napr. Zošit1, dajte nie. Ak sa opýta na uloženie Zošitu osobných makier, dajte áno. Zatvorte Excel. Naštartujte ho, a hneď si to vo VBA skontrolujte či tam máte Personal.xlsb aj s makrom. Musí tam byť. Teraz som to robil.

Prípadne si
Worksheets("makro")
zmente na
ActiveSheet

Metóda Cells je trošku rýchlejšia, odhadom 10 % ...

Rozdiely sú 2:
1. Range() pracuje s textovou adresou bunky "E6", a Cells() pracuje so súradnicami Cells(6, 5) - šiesty riadok a piaty stĺpec.
2. Druhý rozdiel je to With Data. Vlastnosť Name listu "Data" je zmenená na Data. Teda CodeName listu je Data. Tá bodka pred ".Cells()" znamená, že sa jedná o objekt podriadený objektu vo With, teda je jasne dané, že sa pracuje s hodnotami v liste Data. Ak by tam tá bodka pred "Cells()" nebola, znamená to, že sa pracuje s práve aktívnym listom. Použitie zaleží na konkrétnej situácii, či sú dáta v liste Data, ktorý je zároveň aktívny alebo nie.

To isté s bodkou a With platí aj pre textovú adresáciu Range.

Použil som teraz inú metódu (trošku rýchlejšiu). Ak by malo byť tých riadkov naozaj veľa, tak ma napadá ešte najskôr cez SpecialCells poriešiť hromadne prázdne bunky a následne cez pole (tak ako teraz), zaplnené aby sa to zase trošku zrýchlilo.

EDIT: marjankaj, sry hrubka, samozrejme prvé má byť False - opravené

???
Sub VlozText()
Dim Riadkov As Long, Bunka As Range, HDN, Dlzka As Long, Text As String * 15
Text = "Začiatok" & Chr(10) & "Koniec"

Application.ScreenUpdating = False

With Worksheets("makro")
Riadkov = .Cells(Rows.Count, 1).End(xlUp).Row
If Riadkov = 1 And .Cells(1, 1) = "" Then Exit Sub

For Each Bunka In .Columns("O").Resize(Riadkov).Cells
With Bunka
HDN = .Value2
Dlzka = Len(HDN)
.Value2 = IIf(Dlzka = 0, vbNullString, HDN & Chr(10)) & Text
.Characters(Dlzka + IIf(Dlzka = 0, 1, 2), 15).Font.Bold = True
.Characters(Dlzka + IIf(Dlzka = 0, 10, 11), 6).Font.Color = -65281
End With
Next Bunka
End With
Set Bunka = Nothing

Application.ScreenUpdating = True
End Sub

Toto skúste popísať inak, pretože ja osobne nemám ani páru, čo konkrétne Vám nejde, a čo vlastne potrebujete urobiť...


Strana:  1 ... « předchozí  183 184 185 186 187 188 189 190 191   další » ... 286

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21