< návrat zpět

MS Excel


Téma: Výtah dat rss

Zaslal/a 26.9.2012 21:27

Ahojte, měl bych na vás prosbu... opět si nevím rady.

Mám list evidence kontroly viz. příloha, potřebuji, aby se mi do jiného sešitu ukládaly pod sebe hodnoty z buňky celkem min. a to tak, že v jednom sloupci bude LK velké a ve druhém sloupci LK malé a aby byly tříděné podle datumu...

asi takto :

Malé LK Velké LK
20.9.2012 180 20.9.2012 210
21.9.2012 200 21.9.2012 190

Tušíte někdo jak toho dosáhnout pomocí maker (jsem začátečník a v tomto ohledu zcela mimo mísu :))?

Btw. sešit je jen provizorní, nejsou na něm žádná makra, je to jen kopie listu.

Předem děkuji za jakoukoliv snahu o pomoc.
Dejavu

Příloha: 7z9612_evidence-kontroly.7z (27kB, staženo 31x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3 4   další »
#009844
avatar
Aha, už jsem to pochopil :)

Co se toho tisku týká, tak mi záznamník příliš nepomohl, respektive pomohl nastavit tisk, ale ta oblast tisku se mi nedaří nastavit... Dokázal bych mu nastavit tisk, kdybych to potřeboval vytisknout celé, ale když potřebuju tisknout každou tabulku včetně komentářů zvlášť, ne a ne to rozchodit. Zkoušel jsem i prohledávat forum, ale nic kloudnýho jsem nenašel...citovat
#009855
avatar
1)v proceduře Pro_Tisk()
v oddílu With Sheets("TISK")
po řádku
Sheets("Evidence").Range("A1:N" & rdLast).Copy .Range("A1")
například:
.Cells(1, 14) = Sheets("Evidence").Cells(1, 21)
.Cells(1, 14).Font.ColorIndex = 2
.Cells(2, 14) = Sheets("Evidence").Cells(2, 21)
.Cells(2, 14).Font.ColorIndex = 2

2)obecně nastavení oblasti tisku:
ActiveSheet.PageSetup.PrintArea = Range(Cells(a, b), Cells(x, y))

ale dá se i přímo tisknout zadaná oblast
v proceduře Akce_Tisk()
nastavit Vzhled stránky (ze záznamníku)
a pak:
For eTab = 1 To 2
rdW = (eTab - 1) * Cells(1, 14) + 1
rdLast = Cells(eTab, 14)
ActiveSheet.Range(Cells(rdW, 1), Cells(rdLast, 13)) _
.PrintOut Copies:=1, _
ActivePrinter:="\\Pcraw\HP Deskjet F4100 series na Ne01:" 'dosadit svou tiskárnu
Next eTab

Tu cestu k tiskárně není třeba nastavovat, pokud je v nastavení tisku již nastavena (default).citovat
#009856
avatar
Tak jsem to nějak spatlal, ale občas si to hraje s tím logem a přidává ještě jedno, nevím, zda jsem to udělal nějak špatně, ale pro jistotu přidávám kód...

Private Sub Akce_Tisk()
' muzes nastavit oblasti tisku a jine parametry pro tisk atd ...
Range("A21:H21").Select
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.78740157480315)
.RightMargin = Application.InchesToPoints(0.78740157480315)
.TopMargin = Application.InchesToPoints(0.984251968503937)
.BottomMargin = Application.InchesToPoints(0.984251968503937)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
For eTab = 1 To 2
rdW = (eTab - 1) * Cells(1, 14) + 1
rdLast = Cells(eTab, 14)
ActiveSheet.Range(Cells(rdW, 1), Cells(rdLast, 13)) _
.PrintOut Copies:=1, _
ActivePrinter:="\\T2315.aero.cz\KONICA MINOLTA magicolor 2500W:" 'dosadit svou tiskárnu
Next eTab
ActiveSheet.HPageBreaks(1).Delete
MsgBox "Dokument odeslán do tiskárny"
End Sub

Mrkni se mi prosím, zda je vše, tak jak má být.citovat
#009857
avatar
Jinak do teď jsem ještě zkoumal E base správce, konkrétně list výkony a zdá se mi, že to nefunguje korektně, když mrkneš do přílohy, ve složce jsou formuláře, konkrétně 12 a 13.10.2012... no a problém je v tom, že data, tedy výčet minut jednotlivých strojů se zapsal do zcela jiného data...

Jediné co mě napadlo, je to, že když jsem přidal makro na vytvoření složky pro měsíc, rozhasil jsem tím E-base správce, protože ten bere data ze složky výkony a s dalšími podlsožkami už nepočítá, ale možná, že se pletu...

Tušíš co s tím ?

Jinak co se těch ukládaných reportů týká, nebylo by lepší, kdyby se ukládaly bez toho času v názvu souboru ? Aby se soubory se stejným názvem přepisovaly ? Na každý den může být stejně jen jeden report a navíc se tím bude i šetřit místo na disku...citovat
#009863
avatar
Ještě ta příloha... jsem nějak opoměl..
Příloha: 7z9863_nejnovejsi-verze.7z (438kB, staženo 25x)
citovat
#009864
avatar
Ta složka Archiv slouží jen po dobu vývoje.
Pak se může odstranit.
Reporty se ukládají do složky Formulare.
Příloha: rar9864_evidence-2.rar (347kB, staženo 25x)
citovat
#009883
avatar
Ahh, perfektní, díky moc, už se to zdá být v pořádku :)

Teď mi už jen zbývá pořešit 3 poslední problémy na které jsem přišel, pak už by vše mělo být funkční a již tě nebudu svými občas jistě i hloupými dotazy obtěžovat :)

1, Šlo by do menu na listě "Evidence" přidat tlačítko, které by fungovalo něco jako reset ? Tím myslím, aby se po kliknutí na něj list vrátil do původního stavu, aby jej dotyčný operátor nemusel Promazávat ručně ? Nejlépe, aby se vrátil i na oné 3 řádky na tabulku pokud možno...

2, Možná trochu oříšek... Problém vzniká, když se vyplní formulář například za 14.10.12, rozdělá se formulář na 15.10.12 a bude třeba doupravit a vytisknout starší formulář... lze nějak pořešit, aby se načetla data ze starších souborů ? Snad přez nějaký dialog, pomocí kterého vyberu soubor jež se má otevřít a pak se data z tabulky jen nakopírují do listu evidence a pak už se bude pokračovat stejně jako kdyby byl nový, jen se starším datem... ??
Co mě snad ještě napadlo, že by mohlo stačit, aby se makro pro tisk kopírovalo společně s listem "Tisk" do nového souboru... to sice není přesně to, co by se mi líbilo, ale asi to bude jednodužší..

3, A poslední věc, jak ošetřit to, aby se data z velkého LK ukládala do stejného souboru, tedy reportu jako data z malého LK ??? jde o to, že když budu mít soubor Evidence otevřený na obou počítačích, soubory se budou pravděpodobně přepisovat, ale já bych potřeboval, aby jedna evidence ukládala pouze do tabulky malé LK a druhá pouze do tabulky velké LK, aby pak nedocházelo k tomu, že budu muset dávat ručně oba soubory dohromady a kopírovat data z tabulky do tabulky, aby se mi změny projevily ve výkonech u obou LK... Snad jsem to popsal srozumitelně...

Pokud by tě napadlo jiné řešení na kterýkoliv z bodů, byl bych vděčný.. budu vděčný za jakékoliv řešení..

Poté už opravdu nebudu obtěžovat :)
Díky Míracitovat
#009884
avatar
No teda ty mi dáváš. Tak že od začátku. Na jedmon PC se zapisuje pouze LK malé a na druhém PC pouze LK velké. Ano?
Proč nejsou dva sešity pro zápis každé evidenci zvlášť? Proč obě v jednom, když se zapisuje pouze do jedné? Tyto evidence můžou ukládat vlastní reporty. A pak může existovat třetí sešit, který bude načítat obě tabulky. Tam se pak můžou dělat opravy před tiskem atd. Nebo jak to teda je?citovat
#009890
avatar
Omlouvám se, ale všiml jsem si toho, až když jsem začal testovat... a ano, přesně tak, na jednom PC se zapisuje jen malé LK a na druhém jen velké LK, po zapsání by bylo dobré, aby se data ukládala do jedné tabulky pro pozdější zpracování, viz "Tisk".

V podstatě ano, i takto je to možné a možná to i tak bude lepší a bezpečnější, když se budou ukládat ručně data do jednoho sešitu na malém LK a do druhého na velkém LK a poté se to bude tahat třetím sešitem a tam se to bude i opravovat a vyhodnocovat, případně tisknout...

Míracitovat
#009909
avatar
No však se nakonec domluvíme. V té přípravě pro tisk je nutné mít obě tabulky na jednom listě, nebo mohou být každá zvlášť, když se pak stejně tisknou každá zvlášť?
Měl by být ten list(listy) pro přípravu tisku ve zvlášt sešitu, nebo jako součást toho sešitu E-spravce.
No a co se týká těch oprav. Nevím co se tam bude případně opravovat, ale neměl by tam teda zůstat aspoň vzorec pro minuty? Nebo snad i objekty komentářů pro kontrolu již vypsaných? Ty by se smázly až před tiskem.citovat

Strana:  « předchozí  1 2 3 4   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