Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Otevřít zvolený soubor a předat mu nějaký parametr(y)
Potřebujeme pomoci VBA v Excelu otevřít soubor a předat mu nějaké informace, například vypočtené hodnoty. Jak na to se dozvíte v tomto článku. Včetně kontroly, tak abychom neotevírali druhý soubor pod stejným názvem.
Otevření souboru jsem již popisoval, ale připomenutí nezaškodí.
Workbooks.Open Filename:="OteviranySoubor.xls"
ActiveWorkbook.Worksheets("List1").Cells(1, 1).Value = "10"
Poznámka: Kód nekontroluje, zda již není soubor pod stejným názvem otevřen.
Následujícím kódem lze zkontrolovat otevřenost sešitu stejného jména
Set Sesit = Workbooks("OteviranySoubor.xls")
sesitOtevren = Not Sesit Is Nothing
If sesitOtevren = True Then
MsgBox "Máte otevren soubor s názvem OteviranySoubor.xls - zavřete jej."
Else
MsgBox "Otevřu soubor OteviranySoubor.xls."
Workbooks.Open Filename:="OteviranySoubor.xls"
ActiveWorkbook.Worksheets("List1").Cells(1, 1).Value = "10"
End If
V kódech nejsou deklarace proměnných, jelikož slouží jako ukázkový příklad.
Článek byl aktualizován: 19.09.2020 11:07
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 12.08.14 13:59
Vyplňuji tabulku a v každém sloupci kontroluji data. Některé sloupce jsou vyplněny automaticky výpočtem zjiných sloupců. Výslednou tabulku překopíruji do dalšího listu, už bez zálaví, jen data. Tato data resp. list potřebuji uložit do csv souboru, který slouží jako zdroj dat pro automat. Makro csv soubor uloží ale po uložení csv souboru se přejmenuje jak původní sešit tak příslušný list. Tím přestane tento editor fungovat. Co s tím? Díky
Přidáno: 13.08.14 20:11
To vpesa: Využít metodu SaveAs http://office.lasakovi.com/excel/vba-soubory/SaveAs-metoda-ulozit-jako/
Přidáno: 20.08.14 15:34
pokusím se to lépe vysvětlit: Mam otevřen soubor "zadani syntezy" a na listu stejného jména vyplňuji tabulku. Na listu "data" jsou pomocí odkazů již jenom data bez hlavičky. Tato data uložím: ActiveWorkbook.Sheets("Data").Select ActiveWorkbook.SaveAs Filename:"data12", FileFormat:=xlCSV, Local:=True V tomto okamžiku již nemam otevřen soubor "zadani syntezy" ale soubor "data12",který má dva listy "zadani syntezy" a "data12".Další řádky makra jsou vykonávány z tohoto souboru. Jediná možnost jak se vrátit k původnímu souboru, která mě napadá je přes uzavření aplikace a to není ono. Možná je nutné použít formuláře?
Přidáno: 03.12.15 15:57
Dobrý den, nepovedlo se mi najít nic k níže uvedenému problému, pokud by se Vám povedlo odpovědět nebo alespoń odkázat, budu moc vděčná Mám tu makro na otevření souborů z určité složky a překopírování buňky do listu...... Respektive, mám formuláře (desítky), ze kterých potřebuju určité informace dostat do řádku, např. z každého formuláře buňku A5,B10 a C20 dostat do jednoho řádku. Tento kod mi zkopiruje bunku A5 ze vsech formularu do jednoho sloupce. Nevim, jak pokracovat s bunkou B10 (abys se objevila navazne ve druhem sloupci) a jak pak zavrit vsechny soubory, ktere si excel k praci otevrel. Sub Otevrit_vsechny_soubory() Slozka = ActiveWorkbook.Path soubor = Dir(Slozka & "\*.xlsx") Do While soubor <> "" Or soubor = "otevrit.xlsm" Workbooks.Open Filename:=Slozka & "\" & soubor Range("A5").Copy Windows("otevrit.xlsm").Activate ActiveCell.PasteSpecial ActiveCell.Offset(1, 0).Select soubor = Dir() Loop End Sub
Přidáno: 17.03.16 10:06
v xls potřebuji otevří soubor typu "JPEG". Můžete poradit jaký je postup ve VBA?
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |