< návrat zpět

MS Excel


Téma: Ověření VBA rss

Zaslal/a 12.11.2022 17:07

Zdravím.
Mám tlačítko pro vkládání dat. Potřeboval bych ho doplnit o Msgbox s ověřením
Ověření by spočívalo v kontrole dat sloupců C. Pokud při vkládání dat z jiného souboru, VBA zjistí, že tato hodnota již ve sloupci C existuje, Procedura se ukončí s hláškou "Tyto produkty byli již importovány a data se nebudou kopírovat.
A pokud by šlo rozšířit i na to aby to pohlídalo maximální množství řádků. V listu Inventura v bunce D2 se mi zobrazuje kolik řádků je již obsazeno a v listu PF v buňce D1 se mi zobrazuje kolik je ještě volných řádků. To znamená, že pokud by se vkládali data, kde bude obsazeno více řádků než je možno vložit vypíše hlášku a nebude vkládat data. (Prostě max je 10 000 položek). Kód psal Elninoslov, za což mu děkuji.

Příloha: zip53829_dat.zip (253kB, staženo 6x)
Zaslat odpověď >

#053830
elninoslov
A ako prebieha to vkladanie dát z iného súboru? Súbor je otvorený/zatvorený? Jedná sa o import pomocou nástroju Importu (staršia verzia alebo novšia pomocou PowerQuery)? Jedná sa o makro aké robievam ja, ktoré vloží dočasné vzorce na vytiahnutie dát zo zatvoreného súboru? Jedná sa o čisté PowerQuery do pomocného listu a následné spracovanie makrom? Alebo sa jedná napr. o CSV načítané a delené makrom do polí? So všetkým suvísí ale základná otázka, či sa jedná o jeden záznam (riadok) či množstvo záznamov. A ďalšie a ďalšie otázky...

Ak sa jedná o jeden záznam, stačí Match alebo CountIf, ak sa jedná o množstvo záznamov, tak Collection s kľúčom.

Samozrejme zase bez prílohy...
To treba urobiť rovno v tom importovacom/kopírovacom makre ktoré nemáme.citovat
#053831
avatar
jedná se o množství záznamů, Excel 2019, import ze zavřeného sešitu. Omlouvám se jsou tam citlivá datacitovat
#053833
Stalker
Jasně rozumíme, v tom případě požádej původního autora kódu o doplnění. 2citovat
#053834
avatar
Díkycitovat
#053875
avatar
Ještě mi napadlo, zda by to šlo jinak. Bohužel si stím nevím rady. Proto se ptám odborníků.
Má představa je taková, zda by šlo provést Import dat způsobem, že vyberu soubor z kterého budu načítat data, ten otevřu (tam je jich samozřejmě spousta), v automatickém filtru vyberu které data chci importovat, kliknu ok, vypíše mi kolik řádků bude importovat, zkontroluje sloupce C, zda v importovaném souboru není shoda s listem sestava (kam chci importovat data) a data se mi načtou.
Příloha: zip53875_dat1.zip (256kB, staženo 5x)
citovat
#053878
elninoslov
Njn, zase tie sklady, čo som robil pred časom ... 7
"v automatickém filtru vyberu které data chci importovat"
Vy chcete filtrovať dáta v tom súbore, z ktorého chcete importovať dáta, ktorý ste práve otvoril?

"kliknu ok"
Ten súbor, ale predpokladám žiadne tlačítko nemá. Takže v inventarizačnom súbore bude musieť byť procedúra 2-kroková. Lebo makro, ktoré vyberie a otvorí zdroj, nemá ako zistiť či ste s výberom filtrov spokojný, a práve z tohto súboru a práve teraz chcete načítať vyfiltrované dáta. To je zase problémová "prodleva", lebo treba identifikovať či ste súbor nezatvoril.

VBA zjistí, že tato hodnota již ve sloupci C existuje, Procedura se ukončí s hláškou "Tyto produkty byli již importovány a data se nebudou kopírovat.
Takže napr. 5000 hlášok? Alebo pri prvej kolízii ukončí aj import validných dát?

vypíše mi kolik řádků bude importovat, zkontroluje sloupce C
Záleží na predchádzujúcej odpovedi. Nemôže najprv vypísať koľko riadkov bude importovať, ak nich najskôr neskontroluje - teda možno je to naopak (skontrolovať a až potom vypísať počet)

D1 se mi zobrazuje kolik je ještě volných řádků
A to chcete akože importovať iba časť nejakého súboru??? A čo zvyšok?

To zas bude upresňujúcich otázok, aby som Vás pochopil, ani sa mi do toho nechce 7citovat
#053879
avatar
Zkusím to ještě nějak jinak pořešit. Ale přesto děkuji za vysvětlení.citovat
#053880
elninoslov
Našiel som si nejaké staršie verzie, no nejako sa mi to zlieva a neviem určiť čo ste zmenil oproti verziám z 14.9.,3x 15.9., 3x 16.9., 19.9. Ale ten posledný ste asi Vy nevidel, tak som sa to pokúšal prerobiť na Tabuľku namiesto tabuľky. Ale väčšinou to končí práve na tom, že ma prestane baviť stále zisťovať logické súvislosti a následne prerábať (a často aj vysvetľovať logické nezmysly). A obávam sa, že niečo také nastalo aj v týchto súboroch, že to prekročilo nejakú medzu a "opustil" som Vás...
Budem úprimný, neviem či sa mi do toho chce.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