Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  101 102 103 104 105 106 107 108 109   další » ... 289

Maticový

To bude takto. Vy ste nenarazil na obmedzenie dĺžky vzorca, lebo žiaden vzorec nevkladáte. Chýba "=". Vy vkladáte hodnotu, ktorá môže byť ešte dlhšia (32KB), lenže ste narazil na maximálny počet znakov v riadku VBA editora. Ak spojíte 2 také premenné alebo na konci pridáte " _" a budete pokračovať na novom riadku, tak to tam vašim "nevzorcovým" spôsobom kľudne vložíte - ako hodnotu.
Samozrejme ten Váš plný riadok musíte najskôr o niečo skrátiť aby tam to " _" vošlo.

Samotný vzorec VBA má obmedzenie 255 znakov. Mne ide teraz ako pokus max 258, ale to je tým, že nevieme ako presne interne interpretuje VBA dvojité úvodzovky "" a =.

Riešením by mohlo byť použitie definovaných názvov, ktoré môžete vytvárať v makre, a po použití ich zmazať. Ale netestoval som...

Áno šlo by to, stačí pridať pár riadkov. Stálo by za to, to skúsiť aj cez ten ArrayList alebo Evaluate. Každopádne, ako tak na to pozerám, zase sa potvrdzuje že výkonná časť kódu je rovnako dlhá ako obslužná (kontrola riadkov, načítanie dát, zápis dát, msgbox, mazanie starých výsledkov ...), a to ešte nieje urobené, ako blbuvzdorné, pototm tej omáčky bude pomaly viac ako výkonného kódu. :)

lugr napsal/a:

Dobrý den elninoslov,

snažím se aplikovat Vaše super makro do mé tabulky, ale nedaří se mi to. Možná je to tím, že jsou mezi daty mezery.Příloha: 46106_duplicity.zip (423kB, staženo 5x)

Tu máte 2 rôzne varianty. Všetky duplicity, a aj jedinečné duplicity.

Tu máte prerobené načítanie dát zo súboru GPS. Súbor nemusíte otvárať, makro pripraví potrebné vzorce na dolovanie dát zo zatvoreného súboru, a iba tých ktoré požadujete do tabuľky. Akurát neviem čo potom s nimi. Ako sa spracovávajú v tej sumárnej tabuľke, keď je za deň X jázd, ale iba 1 riadok, čo sa má kam zapisovať pri tankovaní atď.

Dám len nástrel riešenia, odchádzam. Keď to nedáte, tak možno keď prídem Vám to tam zakomponujem.
Sub pokus()
Dim Text As String, S() As String, Litrov As Single, Suma As Single
Text = "2.1.2020 Tankování Litrů: 32,45, Cena za l : 1,24 EUR, Cena celkem: 40,37 EUR"
S = Split(Replace(Text, ",", "."), ": ")
Litrov = Val(Split(S(1), ". ")(0))
Suma = Val(Split(S(3), " EUR")(0))
End Sub

Dá sa to aj maticovými vzorcami...

Pošlite súbor Excelu, nie obrázok. Nemám predstavu takto dobrú predstavu ako vyzerajú a kde sú dáta. Zmažte nepotrebné a citlivé dáta, len zachovajte danú časť makra a vymyslené údaje na miestach presne kde sú, a kde potom majú byť. Celé Know-how nepotrebujem :)
Nevidím problém, prečo by to nemalo ísť.

Power Query sa mi zdá na toto celkom dobré riešenie, bez makra. Na PQ je perfektný odborník "mepexg", ale toto podľa mňa zvládnete aj Vy. Skúste si to zatiaľ bez parametru umiestnenia.
Nový súbor - Údaje - Získať údaje - Zo súboru - Zo zošita - vyberte ho - Importovať - označte zdroj.xlsx (budú pod ním všetky listy) - Upraviť - v hlavičke stĺpca Data je dvojšípka - OK - označte posledné 3 stĺpce a dajte [Domov - Odstrániť stĺpce] - Zavrieť a načítať.
A potom si už iba vedľa dajte cez KT vypísať jedinečné položky z prvého stĺpca, tak, že v KT zrušíte všetky označenia, súčty a pod...

A ten parameter umiestnenia - vzorcom treba zistiť aktuálne umiestnenie súboru a z neho zdroja. Toto musí byť objekt Tabuľka, nie iba tabuľka. To môžete opísať z môjho v prvom riadku PQ kódu, ku ktorému sa dostanete takto:
-stojte na PQ dotaze - Dotaz - Upraviť - Rozšírený editor - upravíte Váš prvý riadok.

Ten koniec má byť takto:
With Sheets("Sammelliste").Cells(Radek, 2).Resize(, 11) ' Cílové buňky
.Formula = Zdroj & "B3" ' Zdrojové buňky
.Value = .Value
End With

Môžete použiť Application.Transpose() namiesto cyklu. Má to iba obmedzenie na 32768 položiek. Veľkosť poľa zistíte pomocou Ubound() a Lbound(), prípadne veľkosť oblasti pomocou Rows.Count a Columns.Count. Skúste priložiť príklad v súbore.

CountIf nie, ale Match áno. Skúste mu dať zožrať Date, dostanete chybu. Nemusí to byť Double, môže to byť CLng(), len ja som zvyknutý viac na Double, keďže môže obsahovať aj čas.

Makro ani netreba. Tu sú príklady na vzorec aj makro. Ostatné makrá som neriešil.

Samozrejme, len sa budete odkazovať na oblasť. Ktorá Tabuľka má byť teda tabuľka? Zdroj, ciel, obidve?, ktorý stĺpec rozhoduje o počte riadkov. Vo Vašom príklade má najviac riadkov 6. stĺpec, ale to asi tak nebude. Bude to prvý? Alebo sa môže brať v úvahu celá použitá časť listu ? (teda niesú žiadne iné údaje pod tabuľkou ani vedľa nej).

EDIT:
Tu máte ten najjednoduchší spôsob s použitím UsedRange, keď nieje ani jedna Tabuľka.

A čo keby ste použil na načítanie dát zo zatvoreného listu PQ? 2 príklady.


Strana:  1 ... « předchozí  101 102 103 104 105 106 107 108 109   další » ... 289

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

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35