Stránka 1 z 1

Uložit tabulku v excelu pouze jako hodnoty

Napsal: 07 led 2008 09:26
od cerjar
Potřeboval bych tabulku vytvořenou v MS Excel uložit pouze jako hodnoty se zachováním formátování atd. Tzn., aby se místo vzorů uložily pouze hodnoty. Pokud by někdo věděl o nějakém makru, byl bych velmi rád....

Napsal: 07 led 2008 09:48
od mmmartin
"Nabrat" tabulku myší, Ctrl+C, Úpravy/Vložit jinak/zvolit Hodnoty, Úpravy/Vložit jinak/Formáty

Napsal: 07 led 2008 09:51
od cerjar
O tomto vím, ale pokud v sešitu třeba 15 listů, tak to není moc pohodlný....

Napsal: 07 led 2008 11:41
od mike007
Mohu ti na to udělat makro. Data ve všech listech v excelu budou změněny na hodnoty tj. žádné vzorce.

mmmartin : bohatě stačí
"Nabrat" tabulku myší, Ctrl+C, Úpravy/Vložit jinak/zvolit Hodnoty
:smile:

Napsal: 07 led 2008 12:27
od mmmartin
Ten krok Úpravy/Vložit jinak/Formát mělo za úkol namalovat tabulku (tj. zkopírovat ohraničení buněk na nové místo).

Napsal: 07 led 2008 12:29
od mike007
Nic nepíšeš a já musím letět do práce...
Počítám s tím, že jediné řešení bude makro, tak jsem ti ho napsal.

Kód: Vybrat vše

Sub hodnoty()

'potvrzení, že opravdu chceš spustit makro
If MsgBox("Spustit makro?", vbYesNo, "Potvrzení") <> vbYes Then Exit Sub
'vybere všechny záložky
Sheets.Select
'vybere všechny buňky
Cells.Select
'zkopíruje na hodnoty
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'potvrzení o ukončení makra
MsgBox ("Hotovo")
End Sub


Doufám, že víš jak ho dostat do Excelu. Jestli ne, tak tady je návod.

1. Otevři Excel.
2. Otevři Visual basic ( Nástroje --> Makro --> Editor jazyka Visual Basic [nebo použij zkratku Alt+F11] )

V basicu :

Insert --> Module
a do prázdného okna zkopíruj výše uvedené makro. Zavři basic ( Alt+F4)

Spuštění makra :


1. Nástroje --> Makro --> makra... ( Zkratka Alt+F8 )
2. Vyber makro s názvem "hodnoty" a klikni na tlačítko "Spustit"

Snad dobře vysvětleno.

Napsal: 07 led 2008 13:03
od cerjar
Zkoušel jsem to a je to OK, ale šlo by ještě, aby se makro zeptalo na název souboru pod kterým chci sešit uložit (aby mi zůstal původní soubor se vzorci)))....

Napsal: 07 led 2008 13:20
od mike007
Není problém. Tady je aktualizované makro :

Kód: Vybrat vše

Sub hodnoty()
'potvrzení, že opravdu chceš spustit makro
If MsgBox("Spustit makro?", vbYesNo, "Potvrzení") <> vbYes Then Exit Sub
'vybere všechny záložky
Sheets.Select
'vybere všechny buňky
Cells.Select
'zkopíruje na hodnoty
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("A1").Select
'uložit jako
Name = InputBox("zadej název dokumentu", "", vbOKCancel)
    ActiveWorkbook.SaveAs Filename:=Name
'potvrzení o ukončení makra
MsgBox ("Hotovo")
End Sub


Makro se tě ke konci zeptá, jak se bude jmenovat dokument s daty změněnými na hodnoty. Název zadej a potvrď.

Dokument se ti uloží vedle originálu.

Napsal: 07 led 2008 13:42
od cerjar
Super funguje OK, soubor se uloží do Dokumentů konkrétního uživatele a ne k původnímu souboru, ale to je ok...

Díky moc za pomoc

Napsal: 07 led 2008 13:47
od mike007
Divné. No tak zkus tohle. K originálnímu souboru by se to mělo uložit ať je kdekoliv.

Kód: Vybrat vše

Sub hodnoty()
'potvrzení, že opravdu chceš spustit makro
If MsgBox("Spustit makro?", vbYesNo, "Potvrzení") <> vbYes Then Exit Sub
'vybere všechny záložky
Sheets.Select
'vybere všechny buňky
Cells.Select
'zkopíruje na hodnoty
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("A1").Select
'uložit jako
Name = InputBox("zadej název dokumentu", "", vbOKCancel)
'cesta k souboru zustane stejna jako k originalu
ChDir ThisWorkbook.Path
    ActiveWorkbook.SaveAs Filename:=Name
 'potvrzení o ukončení makra
MsgBox ("Hotovo")
End Sub

Napsal: 07 led 2008 14:02
od cerjar
super, funguje.. diky moc