Uložení pouze hodnot nikoliv vzorců v Excelu

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

Moderátor: Mods_senior

cerjar
nováček
Příspěvky: 8
Registrován: červen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Uložení pouze hodnot nikoliv vzorců v Excelu

Příspěvekod cerjar » 01 čer 2007 14:54

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

Reklama
Uživatelský avatar
alias75
Level 4
Level 4
Příspěvky: 1173
Registrován: listopad 05
Bydliště: Liberec
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod alias75 » 01 čer 2007 15:17

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
Elite Level 10
Elite Level 10
Příspěvky: 9504
Registrován: srpen 04
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline

Příspěvekod mmmartin » 01 čer 2007 21:28

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: červen 07
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod cerjar » 04 čer 2007 13:44

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ů
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Příspěvekod Jan Pašek » 04 čer 2007 14:32

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: květen 07
Bydliště: Praha
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod Rich » 06 čer 2007 11:06

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: květen 05
Bydliště: Karviná
Pohlaví: Muž
Stav:
Offline

Příspěvekod mikel » 09 čer 2007 10:45

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: květen 07
Bydliště: Praha
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod Rich » 10 čer 2007 07:45

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: květen 05
Bydliště: Karviná
Pohlaví: Muž
Stav:
Offline

Příspěvekod mikel » 10 čer 2007 10:13

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: květen 07
Bydliště: Praha
Pohlaví: Nespecifikováno
Stav:
Offline

Příspěvekod Rich » 10 čer 2007 16:17

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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Porovnání hodnot ve sloupci Příloha(y)
    od luko02420 » 02 srp 2023 14:12 » v Kancelářské balíky
    0
    1641
    od luko02420 Zobrazit poslední příspěvek
    02 srp 2023 14:12
  • Součet hodnot s prázdnou vedlejší buňkou Příloha(y)
    od Karrex » 22 kvě 2023 17:00 » v Kancelářské balíky
    7
    2062
    od elninoslov Zobrazit poslední příspěvek
    23 kvě 2023 22:38
  • Import PDF do excelu Příloha(y)
    od luko02420 » 13 kvě 2023 11:29 » v Kancelářské balíky
    18
    3521
    od luko02420 Zobrazit poslední příspěvek
    16 kvě 2023 11:27
  • Poškozený soubor excelu Příloha(y)
    od Jsimi » 06 úno 2024 22:43 » v Kancelářské balíky
    0
    771
    od Jsimi Zobrazit poslední příspěvek
    06 úno 2024 22:43
  • Promítaní excelu a videa zároveň
    od Marw7_ » 02 čer 2023 15:57 » v Vše ostatní (sw)
    2
    1314
    od X Zobrazit poslední příspěvek
    02 čer 2023 18:06

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti