Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak pomocí VBA v Microsoft Excel otvírat *.csv soubory. Jak na středníky, čárky, lokální prostředí, atd.
Vytvořeno: 25.1.2015
Jak otevřít / načíst *.csv soubor pomocí VBA makra v Excel? Jak na různé oddělovače (středník, čárka)? Proč někdy nefunguje středník? Jak zajistit ať se načítané csv neotvírá v samostatném sešitu, ale přímo v sešitu s makrem?
Na první pohled se zdá import *.csv souborů jednoduchý, na ten druhý už to tak jednoduché není. Existuje několik verzí jak mohou být *.csv soubory zapsány (uloženy), když se k tomu připočte několik druhů kodování a navíc dvě možnosti jak v Excelu lze tato data načíst začíná v tom být zmatek.
Ve svém důsledku import / načítání není složité, stačí jen použít správnou metodu, Excel nabízí dva druhy importu:
Obě možnosti jsou popsány v tomto článku.
Oddělovač čárka
CestaAdresare = ThisWorkbook.Path
Workbooks.Open Filename:=CestaAdresare & "\csv-oddelovac-carka.csv"
Oddělovač středník
CestaAdresare = ThisWorkbook.Path
Workbooks.Open Filename:=CestaAdresare & "\csv-oddelovac-strednik.csv", Local:=True
Řešením je kód:
Workbooks.Open C:\dokument.csv
Načítat se bude do listu csv. Csv soubor se sice načte do samostatného listu, tento soubor zkopírujeme a vložíme do požadovaného listu. Nově otevřený soubor pak pomocí VBA kódu zavřeme - Close. Abychom nemuseli odpovídat na zobrazené dialogové hlášení, zobrazování těchto hlášek dočasně vypneme (DisplayAlerts).
CestaAdresare = ThisWorkbook.Path
Workbooks.Open Filename:=CestaAdresare & "\csv-oddelovac-strednik.csv", Local:=True
Windows("csv-oddelovac-strednik.csv").Activate
Selection.CurrentRegion.Select
Selection.Copy Workbooks("nacteni-csv-excel.xlsm").Worksheets("csv").Cells
Application.DisplayAlerts = False
'vypnutí dialogového okna na zachování dat ve schránce
ActiveWindow.Close ' zavře dočasné csv
Application.DisplayAlerts = True
Pokud ručně načítáte přes kartu Data - Načíst externí data - Z textu, využíva Excel vkládaní přes QueryTables. Toto můžete využít a nastavit si požadované oddělovače, kódování, upřesnit umístění na požadovaném listu, atd.
Importovat jako oblast externích dat
CestaAdresare = ThisWorkbook.Path & "\csv-oddelovac-strednik.csv"
Set query_table = Sheets("csv").QueryTables.Add( _
Connection:="TEXT;" & CestaAdresare, _
Destination:=Sheets("csv").Range("A1"))
With query_table
.Name = "strednik"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1250
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.Refresh BackgroundQuery:=False
End With
K dispozici soubory ke stažení zdarma:
Soubory s příponou *.xlsm využívají VBA makra. Pro správnou funkci je třeba tyto makra povolit.
Související články pro práci se soubory pomocí VBA v Excel:
Máte nějaký oblíbený kód pro načítání csv? Můžete zmínit v komentářích.
Článek byl aktualizován: 19.09.2020 11:07
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). 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 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
|
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 - 2025 |