< návrat zpět

MS Excel


Téma: Srovnání sloupců dle vzoru rss

Zaslal/a 13.7.2016 10:23

Prosím o pomoc. Do Excelu natahuji dbf soubor, který slouží jako podklad pro načítání dat. Bohužel v dbf souboru se po aktualizacích zdroj. programu mění pořadí sloupců. Potřeboval bych pomocí makra na listu "mzdyu" překontrolovat pořadí označení sloupců (cca 170), případně je přesunout (s daty) tak, aby odpovídaly pořadí z listu "vzor" s tím, aby nové sloupce, které nejsou ve vzoru, se zařadily jako poslední. Pokud by nějaký sloupec chyběl, potřebuji hlášku, jaký název chybí.
Děkuji za pomoc.

Příloha: zip32036_podklad_sloupce.zip (9kB, staženo 21x)
Zaslat odpověď >

icon #032037
eLCHa
Jakým způsobem importujete? Pokud pomocí sql, tak si pořadí sloupců definujte v dotazu.citovat
#032038
avatar
Přes SQL to není. Je to v Excelu při otevírání vyberu soubor dbf.citovat
#032047
avatar
Jedno z možných řešení:
1. Pro ověření, zda na listu "mzdyu" je daný sloupec ze vzoru, využít funkci VVYHLEDAT. Pokud není, tak vyznačit přes podmíněné formátování.
2. Na listu vzor si očíslovat pořadí vzorových sloupců. Toto pořadí si následně dohledat pro jednotlivé položky na listu "mzdyu", opět VVYHLEDAT.
3. Seřadit list "mzdyu" zleva doprava (dle sloupců). Např. přes tlačítko makra, příp. vlastní řazení na kartě Domů.
P.

Ukázka v příloze:
Příloha: zip32047_podklad_sloupce_reseni.zip (33kB, staženo 21x)
citovat
#032053
MePExG
Neviem čo myslel eLCHa (pod SQL), ale pomocou PowerQuery (pre 2010 doplnok a v 2016 súčasť) stačí do jedného súboru nadefinovať požadovanú štruktúru a z dbf (zatiaľ Data.xlsx) spraviť dotaz bez cieľa a do načítanej definovanej štruktúry appendnúť údaje z dbf (z tichého dotazu). Tým sa stĺpce sami zoradia. Popis a príklad v prílohe.
Příloha: zip32053_pq.zip (45kB, staženo 22x)
citovat
#032054
MePExG
Pardon, zabudol som použiť substituovaný disk Q:. Príloha je upravená. Po úprave (zmenení vlastnéha adresára, kde sú súbory umiestnené) a spustení diskQ.bat stačí otvoriť Vysledok, byť v tabuľke a aktualizovať údaje Alt+F5. Ak chcete použiť vlastné údaje, stačí do súboru Data ich načítať na prvý list (resp. vložiť ako hodnoty z otvarenia dbf) a uložiť 1 .
Příloha: zip32054_pq.zip (45kB, staženo 22x)
citovat
icon #032055
eLCHa
eLCHa myslel obyčejné MSQuery, které dBase podporuje. S vypsáním sloupců v pořadí, jaké potřebuji. Buď s VBA nebo bez (pokud se počet sloupců může měnit, tak asi s)
Dim sSql As String
sSql = "SELECT t.CUST_NO, t.NAME, t.STREET, t.CITY, t.STATE_PROV, t.ZIP_PST_CD, t.COUNTRY, t.PHONE, t.FRST_CNTCT FROM `D:\Downloads`\Sample.dbf t"
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=dBASE Files;PageTimeout=0;", Destination:=Cells(1)).QueryTable
.CommandText = sSql
.Refresh BackgroundQuery:=False
End With
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