< návrat zpět

MS Excel


Téma: Přesun hodnot rss

Zaslal/a 24.8.2024 9:21

Dobrý den,

prosím o pomoc s přesunem hodnot do tabulky, viz příloha.

Předem děkuji.

Příloha: zip56779_sesit.zip (18kB, staženo 13x)
Zaslat odpověď >

#056780
elninoslov
Nemôžete použiť
.Cells(MaxRadek, 1).Value = .Cells(1, 5).Value
lebo sa bodkovou notáciou vo vnútri With odkazujete na List2 (aj pred "=" a za ním). Musíte to upraviť
.Cells(MaxRadek, 1).Value = List1.Cells(1, 5).Value
alebo to dajte do jedného hromadného zápisu
.Cells(MaxRadek, 1).Resize(, 3).Value = Application.Transpose(List1.Range("E1:E3").Value)

ešte poznámka: v tomto jednoduchom makre nepoužívajte
Application.ScreenUpdating = False
bez vypínania a zapínania ScreenUpdating je makro pri hromadnom zápise rýchlejšie.citovat
#056781
avatar
Super.
Děkuji.

Ještě bych měl jednu prosbu. Nechci kvůli tomu vytvářet nové vlákno.

V buňce E1 mám text:
Vojta Pavel Miroslav Libor [12345] Marek
a potřebuji vyjmout číslo 12345 bez hranatých závorek.

Použil jsem na to vzorec:
ČÁST(E1;NAJÍT("[";E1)+1;DÉLKA(E1))
ale nevím, jak odstranit text zprava.

Děkuji.citovat
#056782
elninoslov
napr.
=REPLACE(LEFT(E1;FIND("]";E1)-1);1;FIND("[";E1);"")
=NAHRADIT(ZLEVA(E1;NAJÍT("]";E1)-1);1;NAJÍT("[";E1);"")citovat
#056783
avatar
To je vončo. Děkuji.citovat
#056784
elninoslov
Alebo:
=REGEXEXTRACT(E1;"(?<=\[)[0-9]+(?=\])";0)
Ale na ten regulárny výraz, som sa už musel spýtať ChatGPT 5citovat
#056785
avatar
5citovat
#056787
avatar
Dej prostor umělému hlupákovi a vymyslí...
Já bych v tomto případě použil
=REGEXEXTRACT(E1;"\d+";0)

Netestováno, potřebuji pracovat a to insider verze nepodporuje.citovat
#056788
elninoslov
@lubo: nefunguje to správne, ak sa niekde v texte nachádza číslo bez ohraničujúcich "[]" pred číslom v "[]", nájde to samostatné číslo, nie to v "[]".

Napr.:
Vojta 123 Pavel Miroslav Libor [12345] Marek
nájde to 123 namiesto 12345.
Ten zložitejší pattern z GPT vráti správne 12345 v oboch prípadoch.

EDIT:
Ale dá sa to skrátiť s tým /d+
=REGEXEXTRACT(E1;"(?<=\[)\d+(?=\])";0)
Presné použitie nevieme, takže to necháme na užívateľovi.citovat
#056789
avatar
@elninoslov
Pokud chci vypsat všechna čísla
=REGEXEXTRACT(E1;"\d+";1)
Pokud jen čísla v hranatých závorkách
=REGEXEXTRACT(E1;"\[(\d+)\]";2)

(pokud chápu správně popis funkce, tak 1 vypíše vše nalezené, 2 vypisuje nalezené skupiny)

Testování předcházejících nebo následujících znaků používám jen když to jinak snadno nejde.citovat

Uživatelské menu

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

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