Případně bys musel asi přes nějaké makro a vkládat tam datum natvrdo, např. přes funkci "Now()".
P.
A je podstatné udělat to naráz?
Myslím tím, jestli to má nějaký smysl. Pokud jde pouze o to, aby to "nerušilo" uživatele, tak by stačilo pouze před vykonáním příkazů zamezit překreslování obrazovky a po nich překreslování opět povolit.
P.
Př.:
'Zamezí překreslování obrazovky:
Application.ScreenUpdating = False
'Povolí překreslování obrazovky:
Application.ScreenUpdating = True
Myslím, že to jinak nejde...
Vždycky když dáš "Uložit jako", tak ti zůstane i původní soubor. Takže využij kód o Opičáka a přidej k tomu ještě příkaz na "zabití" (smazání) původního souboru .-).
P.
Př.:
Kill "cesta_k_puvodnimu_souboru"
Těžko říct, co přesně vlastně potřebuješ, doporučuji přidávat přílohu!
Napadly mě asi 3 možnosti.
1.) Udělej si provázání reportu a aktualizací. Pokud změníš hodnotu v aktualizaci a bude-li soubor na příslušném místě, tak se ti to změní i v reportu. Jinak tam zůstane původní hodnota. V podstatě ale předpokládám, že se v reportu a v aktualizaci mění pouze čísla a nejsou tam nějaké zásadní změny v rozložení.=[aktualizace.xlsx]List1!$A$12.) Uspořádej si stejně hodnoty v reportu a v aktualizaci (to co je navíc vymaž) a využij techniku "Ctrl+C" a "Ctrl+V".
3.) Udělej si nějaké makro ve VBA, které ti toto obstará. Lze například přes nějaký jednoduchý cyklus IF a porovnávání hodnot.
P.
Kopírovat/"Vložit jinak" a tam vyber "Hodnoty".
Ve VBA stačí klasické přiřazení.
P.
Př.:Sheets("List2").Range("A1").Value = Sheets("List1").Range("A1").Value
@Stalker
To bude určitě jednodušší .-).
Přímo to podle mě asi nejde, možná nějakou oklikou, která mě nenapadá .-).
Každopádně Excel umožňuje vytvořit vlastní uživatelské funkce ve VBA, takže i to je jedna z cest.
Jednu takovou jsem zkusil, nazval jsem ji "POČET2_kritérium" a má 3 argumenty. Z přílohy to pochopíš...
P.
Viz příloha:
Data/Filtr.
Na netu určitě najdeš spoustu příkladů.
P.
Princip bude asi takovýto:
1. Je potřeba vytvořit cyklus, který projde všechny listy.
2. V každém listu nalezne poslední řádek a ten překopíruje na souhrnný list.
Pokud by sis s tím dlouho nevěděl rady, tak pošli přílohu.
Nalezení posledního řádku lze např. takto.
P.
Př.:posledni_radek = ActiveSheet.Range("a1048576").End(xlUp).Row
Pro spojení řetězců se využívá znak ampersandu (&).
P.
Př.:Cells(1, 5).Value = Celkem_modra & ":" & Celkem_cervena
Myslím, že to je klasická práce s filtrem (Data/Filtr).
Vybereš kritérium a následně překopíruješ na jiný list, je to otázka vteřin.
P.
Viz příloha:
Zkus toto.
P.
Private Sub C2_Change()
On Error Resume Next
TextBox1.Value = WorksheetFunction.VLookup(Val(C2.Value), _
Sheets("Ceník").Range("F3:H21"), 3, False)
End Sub
Zkus tu přílohu nahrát ještě jednou.
P.
Předpokládám, že to máš do práce. To mi neříkej, že nevíš jak vypočítat procenta :-).
P.
Př.:
UserForm1.TextBox3.Text = Worksheets("list1").Cells(Radek, 1) + _
Worksheets("list1").Cells(Radek, 1) * _
(Worksheets("list1").Cells(Radek, 2) / 100)
Píšeš, že to exportuješ do txt a tam přece žádné "sloupce" A, B atd. nemáš, ne?
Pokud chceš jenom oddělit dané sloupce mezerou nebo nějakým znakem, pak to lze takto (ale i toto tam v části máš využito). Případně to zkus popsat jinak a lépe .-)...
P.
Př.:
s = Cells(i, 18) & " " & Cells(i, 19)
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.