< návrat zpět

MS Excel


Téma: Sloučení velkého množství tabulek rss

Zaslal/a 17.10.2013 8:42

Dobrý den,
už několik dní se mořím s následujícím problémem:
Potřebuji v excelu (či jiném programu) sloučit cca 1000 tabulek, kdy každá z tabulek obsahuje pouze 2 sloupce - Popis řádků (Lable) a samotné hodnoty (Value). Sloupec Lable není ve všech tabulkách identický.
Potřebuji sloučit (tzn. vložit do jedné tabulky - nikoliv propojit) všechny tabulky do jedné horizontální tabulky. V prvním sloupci bude jakýsi MasterLable, který obsahuje řádky které mě zajímají a v každém dalším sloupci budou Value z jednotlivých zdrojových tabulek.
Ne každá tabulka obsahuje hodnoty které mě zajímají, tzn. některá pole budou prázdná.
V podstatě jde mi o to, aby byly jednotlivé hodnoty zatříděny do správných řádků dlen hodnoty Label.
Zatím toto testuji na souboru 10 tabulek a zatím se nedostávám k požadovaným výsledkům. Zkoušel jsem toto i v MS Access přes relace či v doplňku PowerPivot. Disponuji kompletním balíkem MS Office 2013. Děkuji
Pro ilustraci přikládám soubor s 3 listy, které potřebuji spojit.

Zaslat odpověď >

Strana:  1 2   další »
#015701
avatar
chceto nejaku predlohu takto mozem len hadat co presne potrebujete a ako sa ma presne to makro spravat

takze odpoved je takato:
Private xl As Excel.Application
Private W As Workbook
Private W2 As Workbook
Private XlsName() As String

sub test()
Set xl = CreateObject("Excel.Application")
Set W2 = xl.Workbooks.Open(Application.ThisWorkbook.Path & "\Complet.XLSX")
For x = LBound(XlsxName) To UBound(XlsxName)
Set W = xl.Workbooks.Open(Application.ThisWorkbook.Path & "\TEST\" & aName)

'TU SA DOPISE PRESNE CO MA ROBIT s W2 a W
W.Close False
Next
Set xl = Nothing
end sub

Private Sub LoadNameXLSM()
MyFile = FileSystem.Dir(Application.ThisWorkbook.Path & "\TEST\" & "*.xlsm")
Do While MyFile <> ""
ReDim Preserve XlsxName(x)
XlsName(x) = MyFile
x = x + 1
MyFile = FileSystem.Dir
Loop
End Sub


otazky teraz zniu:
- bude sa tabulka vzdy nachadzat prvom sheete?
- stlpce v tabukach budu mat iste poradie alebo sa menia?
- ake dalsie zazraky chcete aby torobilo?citovat
#015702
avatar
Děkuji za odpověď.
-Zdrojové tabulky budou vždy v první listě sešitu.
-Pořadí sloupců bude vždy totožné tzn. Lable - Value
-Ve výsledné tabulce mi na pořadí sloupců nezáleží
Přikládám soubor s daty (tentokrát snad úspěšně) 1
Příloha: zip15702_tab.zip (38kB, staženo 18x)
citovat
#015705
avatar
uz natom pracujem ... uz len jedna otazka :P

hodnoty stlpca Label budu vzdy identicke?citovat
#015706
avatar
Děkuji. Ve zdrojových tabulkách bohužel ne.
Ve výsledné tabulce mi jde o hodnoty uvedené v sešitě Data - listu MasterLabelcitovat
#015707
avatar

dddbbb napsal/a:

Děkuji. Ve zdrojových tabulkách bohužel ne.
Ve výsledné tabulce mi jde o hodnoty uvedené v sešitě Data - listu MasterLabel


dobra ale nazov napr. "IČO zadavatele" ked uz tam bude tak meno bude presne takehoto isteho formatu

napr. nebude tam
"IČO zadavatele"
"ICO zadavatele"
"IČOzadavatele"
"zadavatele"citovat
#015708
avatar
Aha už rozumím. Sloupec Label bude vždy identický. Tzn. jen a pouze: "IČO zadavatele".citovat
#015709
avatar
takze porovnavato stlpec A s stlpcom A a ked ho najde tak doplni do masterlabel hodnotu z stlpca B

- tabulky co ma porovnavat sa musia nachadzat v FILE

otestujte si to:
Příloha: zip15709_masterlabel.zip (46kB, staženo 23x)
citovat
#015710
avatar
Úžasné. Funguje přesně tak jak jsem potřeboval.citovat
#015767
avatar
Dobrý večer,
narazil jsem ještě na jednu komplikaci.
Ve zdrojových tabulkách se vyskytuje 2x řádek "Hodnota", ale pokaždé s jiný údajem ve vedlejší buňce. Bohužel číslo, které je pro mne důležité je vždy až u buňky 2. v pořadí.
Myslíte, že toto půjde nějak ošetřit?
Děkuji.citovat
#015769
avatar
Napadlo mě toto (trochu krkolomné) řešení, ale mě by naprosto vyhovovalo.
Potřeboval bych makro, které v dané složce odstraní ze všech souborů pouze 1. buňku "Hodnota". Takto upravené zdrojové tabulky bych už mohl použít pro původní makro.
Edit: říkám si, že zřejmě může být problém v onom odstranění pouze 1. buňky.
Zjistil jsem, že 1. řádek hodnota (kterého se potřebuji zbavit) je vždy v rozmezí 36-40 ř. A druhý řádek hodnota (ten který mě zajímá) je v rozmezí 69-90 ř.citovat

Strana:  1 2   další »

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