< 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 2x)
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

Menu

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