< návrat zpět

MS Excel


Téma: Aktualizování dat z CSV rss

Zaslal/a 9.9.2021 15:19

Zdravím, chtěl bych se zeptat zda je možné nějak provést když mám tabulku a soubor v CSV (se stejnou struktůrou sloupců)tak jejich sloučení, ale s tím aby se do tabulky vložila data-řádky nové data dle sloupce D na konec tabulky, tak aby případně shodné řádky přepsali aktuálníma daty z CSV souboru. Jde o to že CSV soubory se generují 1-2 týdně a jsou tam data řekněme od 1/1/2021 do 1/2/2021 a další soubor má data od 10/1/2011 do 10/2/2021. Jednoduše data v souboru jsou generována jen 15 dni před dneškem a 15 dní odedneška, proto si je takto ukládám - exportuji.
A protože se data ve zdroji odkud je generuji mění i v průběhu to znamená že v prvním soubodu (který stáhnu dnes tak stejná zakázka dle sloupce D) bude třeba v zítřejší sestavě změněné data v několika buňkách.

Jak tam dostat nové data zvládnul jsem, ale jak přepsat duplicitní řádek dle čísla ve sloupci D = unikátní , s tím si nevím rady :(

Moje představa je že do soubor s kterým pracuji (by se připsali všechny řádky (druhého mnou vybraného souboru) kde ve sloupci D bude nalezeno číslo které tento soubor neobsahuje.

Příloha: xlsx51189_odtud.xlsx (473kB, staženo 13x)
Zaslat odpověď >

#051190
avatar
Nevím jak přiložit 2 soubory, zip mě to nevzalo.
Příloha: xlsx51190_sem-dostat.xlsx (310kB, staženo 16x)
citovat
#051195
elninoslov
To pôjde len makrom.
Vy chcete vyberať CSV súbor ale tu je v prílohe XLSX súbor, takže:
-Čím sú v origo CSV oddelené stĺpce?
-Ako v ňom vyzerá desatinné číslo (oddeľovač desatín aj tisícov)?
-Ako vyzerá dátum?
-Aké formáty sú v nezaplnených stĺpcoch?

Najlepšie priložiť taký CSV so spomenutými druhmi dát, bez citlivých údajov, s aspoň 2 riadkami.citovat
#051196
avatar
CSV mi sem nejde nahrát tak jsme ho uložil do XLS.
Tak snad takto zabalen jde.
Makro nevadí . Bylo by v tabulce kam by se data aktualizovala.
Odělovač je ;
Příloha: zip51196_odtud.zip (67kB, staženo 10x)
citovat
#051197
elninoslov
Pr.
Příloha: zip51197_sem-dostat.zip (322kB, staženo 12x)
citovat
#051198
avatar

elninoslov napsal/a:

Pr.Příloha: 51197_sem-dostat.zip (322kB, staženo 1x)


Moc děkuji, funguje skvěle. Zkusím ještě, ale takto to zatím vypadá perfektně. MOOOC děkujicitovat
#051203
avatar
Tak sem narazil na problém většinou ve sloupci Y a AX
kde se občas objevují data na dva - více řádků
+ nevím zda nevadí že se může objevit text se středníky např. jako
;;P17;TMY
nebo ;;;XXX text

v příloze jsem na ukázku poslal problémové řádky jestli by jsi byl ještě ochotný kouknout zda se nedá něco s tím udělat
Příloha: zip51203_test.zip (2kB, staženo 13x)
citovat
#051204
elninoslov
Ak má CSV stĺpce oddelené bodkočiarkami/středníkmi/";" tak žiadny iný text v CSV NESMIE obsahovať tieto oddeľovače. Odkiaľ by potom import vedel, ktorý ";" je oddeľovač a ktorý text??? Na tie dvojriadky ešte pozriem neskôr...citovat
#051205
avatar

elninoslov napsal/a:

Ak má CSV stĺpce oddelené bodkočiarkami/středníkmi/";" tak žiadny iný text v CSV NESMIE obsahovať tieto oddeľovače.
, pokud tam jsou, tak pole je nutné obalit uvozovkami. Totéž se týká řádkování. Tj. soubor je korektní.

Pro načtení použijte powerquery, to to načte správně, jeho chování je možné v případě potřeby korigovat. Zbytek pak jak je libo powerquery, vba, ...citovat
#051289
avatar
Omlouvám se že se vracím k tomuto vláknu, pachtím se s tím makrem už delší dobu nepřišel jsme jak na to. A nedaří se mi makro správně zformulovat.

Postup by měl být že ve zdrojovém souboru spustím makro.
1) otevře se požadovaný CSV v exelu kde jsou data v pořádku v požadovaných sloupcích
2) v otevřeném souboru do sloupce BH se do všech řádků doplní název aktivního souboru (jde pro případné dohledání CSV souboru)
3) Pak krom záhlaví z prvního řádku vše nakopíruje do zdrojového souboru na začátek. To je na řádek 2
4) pak by se přes funkce Exelu Data>odebrat duplicity odebrali duplicitní řádky. Jestli jsme dobře koukal tak zůstane vždy ten nejvyšší řádek proto by se nové soubory přidávali na začátek.
5) CSV soubor se zavřel

Dim FileName As String
Dim MostRecentFile As String
Dim MostRecentDate As Date
Dim FileSpec As String

FileSpec = "*.csv"
Directory = ThisWorkbook.Path '
FileName = Dir(Directory & FileSpec)

With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
.Filters.Add "Excel 2007-13", "*.csv"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
SouborZ = SelectedItems
Workbooks.Open .SelectedItems(1)
ActiveSheet.Copy After:=Workbooks("Objednavky.xlsm"). _
Sheets(1)

End If
End With

Radek = Range("A1048576").End(xlUp).Row
Range("BH2").Select
ActiveCell.FormulaR1C1 = _
"=MID(CELL(""filename""),SEARCH(""["",CELL(""filename""))+1,SEARCH(""]"",CELL(""filename""))-SEARCH(""["",CELL(""filename""))-1)"
Range("BH2").Select
Selection.AutoFill Destination:=Range(Cells(2, 60), Cells(Radek, 60)).Select

Pak by pokračoval makro nakopírovat data do zdroje a smazání duplicit

Mám problém v makru že 1) soubor se otevře nějak jinak než když ho otevřu ručně (většina sloupců se mi spoji do asi 5)
2) doplní se mi název souboru ale již se mi nedaří to rozkopírovat na všechny řádky

3-5 mám nějak snad rozpracováno, ale když by někdo dokázal i toto bylo by supercitovat

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