Uložení pouze hodnot nikoliv vzorců v Excelu

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
cerjar
nováček
Příspěvky: 8
Registrován: 01 čer 2007 14:46

Uložení pouze hodnot nikoliv vzorců v Excelu

Příspěvek od cerjar »

Potřeboval bych excelový list /popř. všechny listy/ uložit pouze jako hodnoty. Tzn. že v buňkách, kde jsou nějaké vzorce, aby se uložily pouze vypočtené hodnoty. Nejlepší by na to bylo asi nějaké makro, které uloží vše jako nový excelový sešit pouze s hodnotami.

Díky všem
Uživatelský avatar
alias75
Level 4
Level 4
Příspěvky: 1173
Registrován: 21 lis 2005 17:18
Bydliště: Liberec

Příspěvek od alias75 »

Smaž si to druhé dubl téma.
Největší životní moudro je,vědět na koho se VYSRAT a před kým POSRAT .
_______________________________________
Když píšu bez diakritiky ta je to z:
G1 Android.Root. rom Canyogen 3.6.2 Theme HTC Hero 1.4.0; SonyEricsson XperiaX10; HTC Wilfire
Uživatelský avatar
mmmartin
Moderátor
Příspěvky: 9669
Registrován: 31 srp 2004 17:25
Bydliště: Praha

Příspěvek od mmmartin »

Na makro si netroufám, ale manuálně to není problém: zdrojový list načteš do schránky - např kombinací ctrl+a ctrl+c - přejdeš na buňku A1 listu, na který chceš vložit hodnoty a pak v menu vybereš Úpravy/Vložit jinak, v nabídnutém dialogu vybereš Hodnoty a dáš OK. Takto zkopírované hodnoty se ale neaktualizují při změně zdrojových dat.
cerjar
nováček
Příspěvky: 8
Registrován: 01 čer 2007 14:46

Příspěvek od cerjar »

mmmartin píše:Na makro si netroufám, ale manuálně to není problém: zdrojový list načteš do schránky - např kombinací ctrl+a ctrl+c - přejdeš na buňku A1 listu, na který chceš vložit hodnoty a pak v menu vybereš Úpravy/Vložit jinak, v nabídnutém dialogu vybereš Hodnoty a dáš OK. Takto zkopírované hodnoty se ale neaktualizují při změně zdrojových dat.



Tady o te moznosti vim, ale potreboval bych trochu elegnatnejsi reseni... v excelovem sesitu je asi 50 listu a rad bych to prevadel hromadne....
Uživatelský avatar
Jan Pašek
Tvůrce článků
Příspěvky: 3701
Registrován: 27 led 2006 10:48
Bydliště: Plzeň

Příspěvek od Jan Pašek »

A co použít záznam makra s funkcí relativně Uděláš si makro pro jeden list s přepnutím na list následující Pak již jen mačkáš přidělenou klávesovou zkratku. Mám ale pocit ze to nebude fungovat ve dvou souborech.
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.
Rich
nováček
Příspěvky: 10
Registrován: 30 kvě 2007 11:22
Bydliště: Praha

Příspěvek od Rich »

Zkus tohle

Sub Preved_nahodnoty()
Dim Lst As Worksheet
Dim Bunka As Object
Application.ScreenUpdating = False
For Each Lst In ActiveWorkbook.Worksheets
Range("A1:F100").Select ' zde si dopln jak potrebujes
For Each Bunka In Selection
Bunka = Bunka.Value
Next Bunka
Next Lst
End Sub
Uživatelský avatar
mikel
Level 5
Level 5
Příspěvky: 2298
Registrován: 03 kvě 2005 17:25
Bydliště: Karviná

Příspěvek od mikel »

Rich: V tom tvém případě si převede všechny vzorce na hodnoty přímo v sešitě a tím pádem už se ke vzorcům zpětně nedostane.
Já bych to radši řešil kopií do jiného sešitu, ať se může ještě vrátit k původnímu sešitu a vzorcům.

Kód: Vybrat vše

Sub prevod()
   Set Zdroj = ActiveWorkbook
   Set Cil = Workbooks.Add
   For Each List In Zdroj.Worksheets
      List.Copy After:=Cil.Sheets(Worksheets.Count)
      ActiveSheet.Cells.Copy
      ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
      ActiveSheet.Range("A1").Select
      Application.CutCopyMode = False
   Next List
End Sub
Znáte pravidla?
Tipy a triky ve Windows XP
Návody: HijackThis, MWAV, CCleaner (THX to mijaja)
Problémy, které chcete vyřešit pište sem do fóra. Neposílejte je emailem ani po ICQ!
Rich
nováček
Příspěvky: 10
Registrován: 30 kvě 2007 11:22
Bydliště: Praha

Příspěvek od Rich »

mikel píše:Rich: V tom tvém případě si převede všechny vzorce na hodnoty přímo v sešitě a tím pádem už se ke vzorcům zpětně nedostane.
Já bych to radši řešil kopií do jiného sešitu, ať se může ještě vrátit k původnímu sešitu a vzorcům.

Kód: Vybrat vše

Sub prevod()
   Set Zdroj = ActiveWorkbook
   Set Cil = Workbooks.Add
   For Each List In Zdroj.Worksheets
      List.Copy After:=Cil.Sheets(Worksheets.Count)
      ActiveSheet.Cells.Copy
      ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
      ActiveSheet.Range("A1").Select
      Application.CutCopyMode = False
   Next List
End Sub



Pokud jsou v sešitu sloučené buňky, následující příkazy hlásí chybu.

ActiveSheet.Cells.Copy
ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues
Uživatelský avatar
mikel
Level 5
Level 5
Příspěvky: 2298
Registrován: 03 kvě 2005 17:25
Bydliště: Karviná

Příspěvek od mikel »

To je pravda. V tvém případě jsi zapomněl na jednu podstatnou věc:

...
For Each Lst In ActiveWorkbook.Worksheets
Lst.Activate
Range("A1:F100").Select ' zde si dopln jak potrebujes
...

určitě víš, jaký bude výsledek, když zůstane stále na prvním listě. A dynamickou oblast taky nepodchytíš, pokud pro jistotu neurčíš oblast A1:IV65536.

Ale o to nejde. Jde o to, že na dálku a bez konkrétních informací můžeš udělat pouze nějaké makro, ale bez konkrétního příkladu ho nikdy neodladíš. Takže pokud by výsledek nebyl takový, jak cerjar očekává, ozval by se.
Znáte pravidla?
Tipy a triky ve Windows XP
Návody: HijackThis, MWAV, CCleaner (THX to mijaja)
Problémy, které chcete vyřešit pište sem do fóra. Neposílejte je emailem ani po ICQ!
Rich
nováček
Příspěvky: 10
Registrován: 30 kvě 2007 11:22
Bydliště: Praha

Příspěvek od Rich »

určitě víš, jaký bude výsledek, když zůstane stále na prvním listě. A dynamickou oblast taky nepodchytíš, pokud pro jistotu neurčíš oblast A1:IV65536.

To by trvalo děsně dlouho
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • League of Legends - vysoké ms pouze u her od riotu
    od 4Lift » » v Hry
    6 Odpovědi
    6701 Zobrazení
    Poslední příspěvek od 4Lift

Zpět na „Kancelářské balíky“