Stránka 1 z 1

Excel - propojeni listu a vzorce

Napsal: 17 bře 2014 15:43
od jet
Zdravím, může mi prosím někdo poradit jak by šlo udělat:

mám x listu a v kazdem listu je tabulka s fakturaci. Prvni list je nazvany rekapitulace a do tohoto listu bych automaticky potreboval dostavat data z listu ostatnich a to ve chvili kdy do nich neco napisi.

Pro ukazku je prilozen soubor.
Zapisuji pouze do zlute podbarvenych policek a jakmile do prislusneho policka napisi hodnotu potrebuji aby excel automaticky preposlal hodnoty bunek ktere jsou podbarvené cerveně i v poradi jak je uvedeno.

Pozice bunky cislo a text je vzdy stejna. Pozice bunek kod, polozka, cena jsou takve vzdy v prislusnem radku na stejnem miste.

Diky za kazdou snahu.

Re: Excel - propojeni listu a vzorce

Napsal: 17 bře 2014 17:41
od cmuch
Je více možností.
Jedna z nich pomocí makra.
Na každý list z kterého se má kopírovat do listu "Rekapitulace" nakopíruj makro, které je v "List1"
Uprav nastavení žluté oblasti pokud jsem zadal špatně.
Při změně ve žluté oblasti se daný řádek napokíruje do daného listu, pokud tam již je tak se jen přepíší stávající udaje, pokud není tak se řádek založí.
Ve sloupci N zadávám info z jakého listu a řádku je záznam pro hledání zda již záznam existuje nebo ne.

Tak to zkoukni jestli je to správná cesta.

Re: Excel - propojeni listu a vzorce

Napsal: 17 bře 2014 20:30
od jet
Vypadá to přesně jak bych potreboval, jeste ale drobna uprava, kdyz do zlute casti zadam dalsi hodnotu do dalsiho sloupce tzn ze v radku bude jiz druhy zaznam tak aby ten druhy zaznam se zapsal do listu rekapitulace jako novy radek.

Jinak s makrama si moc nerozumim tak nevim jak pak to makro aplikovat :)

Re: Excel - propojeni listu a vzorce

Napsal: 18 bře 2014 06:38
od cmuch
Tak jsem to upravil v předchozí příloze.
Ukládají se pod sebe pouze pořád ty buňky červené ne ty žluté.

Jinak s tím makrem to bude jednoduché, viz obr.
VBA.jpg

Zmáčkneš Alt+F11 - Editor VBA
Když klikneš na list1 (modře podbarvené) a vše co tam je zkopíruješ do dalšího listu z kterého chceš kopírovat ty údaje.

Re: Excel - propojeni listu a vzorce

Napsal: 18 bře 2014 07:27
od jet
To je presne ono. Diky moc

Jdu to zkusit aplikovat na ostre tabulky :) Jinak mam asi 50 listu je nejaka moznost ten kod zkopirovat najednou do vsech tech listu nebo musim postupne jednotlive do kazdeho?

Diky

Re: Excel - propojeni listu a vzorce

Napsal: 18 bře 2014 08:45
od cmuch
Tak do moduli ThisWorkBook dej toto

Kód: Vybrat vše

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 
 Dim shData As Object
 Dim Oblast As Range
 Dim NewRow As Integer
 Dim FCll As Range
 
  Set shData = Sheets("Rekapitulace") ' kam se bude kopirovat
  Set Oblast = Sh.Range("T12:AJ50")   ' definice sledované oblasti
 
    'list ktereho se netyka, pro vice listu pridej AND Sh.Name <> "nazev listu" ...
    If Sh.Name <> "Rekapitulace" Then
 
        ' test výbìru
        If Union(Oblast, Target).Address = Oblast.Address Then
 
            'hledej jestli je jiz v rekapitulaci podle pomocneho sl. N
            Set FCll = shData.Range("N:N").Find(ActiveSheet.Name & Target.Address, LookIn:=xlFormulas, _
                LookAt:=xlPart, SearchOrder:=xlByRows)
       
            'pokud ano prepis stare udaje, pokud ne tak vytvor nove
            If Not FCll Is Nothing Then
                NewRow = FCll.Row
            Else
                NewRow = shData.Cells(Rows.Count, 1).End(xlUp).Row + 1
            End If
            Application.EnableEvents = False
             shData.Range("A" & NewRow).Value = Range("D6").Value                'cislo
             shData.Range("B" & NewRow).Value = Range("F6").Value                'text
             shData.Range("C" & NewRow).Value = Range("B" & Target.Row).Value    'kod
             shData.Range("D" & NewRow).Value = Range("C" & Target.Row).Value    'polozka
             shData.Range("E" & NewRow).Value = Range("O" & Target.Row).Value    'cena
             shData.Range("N" & NewRow).Value = ActiveSheet.Name & Target.Address 'info
            Application.EnableEvents = True
        End If
    End If
End Sub

A to makro co je v modulech listu smaž.
Jediné co musíš je vypsat názvy listů kterých se nemá týkat, v makru první IF.

Re: Excel - propojeni listu a vzorce

Napsal: 18 bře 2014 13:23
od jet
Prave jsem to rozchodil na ostre tabulce a je to uplne super.... Jeste jsem se chtel poradit jestli by nejak neslo udelat, aby se mi oddelovali jednotlive fakturacni obdobi, tak abych mohl delat potom soucty za urcite. Jestli mi rozumis :) Jinak ale i tak je to uz velka pomoc diky

Re: Excel - propojeni listu a vzorce

Napsal: 18 bře 2014 19:41
od cmuch
Nevím zda to chápu, ale nejspíš by stačila kontingenční tabulka ve které by si měl potom vše.
Více tuna
http://office.lasakovi.com/excel/vlozit/excel-2010-kontingencni-tabulka-uvod/
http://office.lasakovi.com/excel/vlozit/kontingencni-tabulka-pokrocile/

Nebo nahoď jak si to představuješ aby to vypadalo.

Re: Excel - propojeni listu a vzorce

Napsal: 20 bře 2014 12:32
od jet
Asi by to slo i pres tu kontingencni tabulku ale uplne jednoduse receno, kazdy mesic ve vsech listech (tedy dalsi zapis v radku ve zlute oblasti) by mel v listu rekapitulace zacit odsaneny cca o 4 radky nize a vsechny zapisy v danem sloupci ve vsech listech (ve zlute oblasti) by se zapisovali pod sebe az do doby nez by se zase objevil novy zapis v dalsim sloupci

Re: Excel - propojeni listu a vzorce

Napsal: 21 bře 2014 12:20
od cmuch
Nějak si nedovedu představit.
Skus přiložit nějakou přílohu ( jak to má vypadat po jednom měsíci a pak po dalších ).