< návrat zpět

MS Excel


Téma: VBA - načtení dat ze souboru s proměnným názvem rss

Zaslal/a 16.1.2022 21:30

FantasykZdravím,

chtěl bych se zeptat, jestli někdo neví jak lze otevřít jiný .xls a nahrát data do původního.

Momentálně to řeším přes:
Application.FileDialog(msoFileDialogFilePicker)
, ale chtěl bych, aby to otevřelo pokaždé soubor s názvem:
"stops_XXXXXXXXXXX_XXXXXXXX.xls" (v X je obsaženo den a čas stáhnutí souboru, ale je pokaždé jiný.

Díky za jakokoliv radu

Teď mám kód:
Active = ActiveSheet.Name
With Application.FileDialog(msoFileDialogFilePicker) 'spustí dialogové okno pro otevření
.InitialFileName = "C:\Users\OVRotating\Downloads" 'nastavení úvodní složky procházení
.Title = "Vyber adresár" 'nastavení názvu okna
.Filters.Add "Stáhnuté poruchy z reportu (xls)", "*.xls*", 1 'nastavení filtru pro zobrazení souborů
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Nebyly nacteny žádné soubory!", vbExclamation: Exit Sub 'pokud není vybrán žádný soubor, makro vypíše hlášení a ukončí se
Application.ScreenUpdating = True
Sheets(Active).Select
Range("A1").Select
ElseIf .SelectedItems.Count > 1 Then
MsgBox "Vyberte pouze jeden soubor!", vbExclamation: Exit Sub 'pokud je vybráno více, než jeden soubor, makro vypíše hlášení a ukončí se
Application.ScreenUpdating = True
Sheets(Active).Select
Range("A1").Select

Else
zdrojovy_soubor = .SelectedItems(1) ' načte adresu souboru do proměnné
End If
End With
Workbooks.Open (zdrojovy_soubor) ' otevření souboru, který jsme vybrali
For Each List In Sheets
Range("H2:H1200").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
docasna = List.Range("A2:O1200")

Zaslat odpověď >

#051911
€Ł мσşqμΐτσ
Zdravím,

nevím jestli jsem správně pochopil zadání, mám pár otázek.
- všechny soubory které chcete otevřít máte v jedné složce? "C:\Users\OVRotating\Downloads"
- chcete načíst všechny soubory z této složky od poslední, která byla už načtena, nebo vždy jenom jeden soubor?
- v jakém tvaru je ten den a čas?
- je možnost sem hodit nějaký demo sešit klidně bez dat abych mohl makro upravit?
děkujicitovat
#051916
Fantasyk

€Ł мσşqμΐτσ napsal/a:

Zdravím,

nevím jestli jsem správně pochopil zadání, mám pár otázek.
- všechny soubory které chcete otevřít máte v jedné složce? "C:\Users\OVRotating\Downloads"
- chcete načíst všechny soubory z této složky od poslední, která byla už načtena, nebo vždy jenom jeden soubor?
- v jakém tvaru je ten den a čas?
- je možnost sem hodit nějaký demo sešit klidně bez dat abych mohl makro upravit?
děkuji


Všechny soubory jsou v jedné složce
soubory vždy začínají:
stops_XXXXX.xls
perfomance_detail_XXXXX.xls

klidně to může být na 1 tlačítko, aby to udělalo vše naráz, ale ještě to chce ošetřit když nenajde ten subor nějak..

https://uloz.to/tamhle/jeCOlRfk2I8U/name/Nahrano-18-1-2022-v-14-33-22#!ZGywAwR2AGqwLzH1AmD1LzSyAQIvMSH4FGWnqTE1MRE5rGV3AN==citovat
#051924
€Ł мσşqμΐτσ
Přidal jsem nové tlačítko s novým makrem.
Pokud bude pokaždé jenom jeden soubor od každého sešitu ve složce "Download" tak by to mělo fungovat.

Ale, pokud se tam průběžné přidávají další s novým datumem a časem, tak to bude chtít řešit jinak. Někde se do sešitu bude muset ukládat názvy posledných kopírovaných souborů, aby makro vědělo které soubory již byly zkopírované. Pak je otázka jestli před kopírováním mazat již uložená data nebo je kopírovat pod ně.
Příloha: zip51924_test.zip (40kB, staženo 18x)
citovat
#051926
Fantasyk

€Ł мσşqμΐτσ napsal/a:

Přidal jsem nové tlačítko s novým makrem.
Pokud bude pokaždé jenom jeden soubor od každého sešitu ve složce "Download" tak by to mělo fungovat.

Ale, pokud se tam průběžné přidávají další s novým datumem a časem, tak to bude chtít řešit jinak. Někde se do sešitu bude muset ukládat názvy posledných kopírovaných souborů, aby makro vědělo které soubory již byly zkopírované. Pak je otázka jestli před kopírováním mazat již uložená data nebo je kopírovat pod ně.Příloha: 51924_test.zip (40kB, staženo 1x)


Zdravím,
nějak mi to nechce najít ty soubory vypíše mi to ten MsgBox nenalezeno 7
no pokaždé tam bude pouze jeden soubor s tímto názvem, který chci po dokončení makra vymazat (kill)

Ale vypadá to nadějně, tak nějak jsem to chtěl 1citovat
#051927
€Ł мσşqμΐτσ
tak koukám mně to doma taky nefungovalo 5

jenom připomenu , že složka kterou jste poslal je pojmenovaná jako "Download", kde v příkazu jste měl "Downloads", takže teď nevím které je správně.

upravit když tak cestu v řadku viz níže pak už snad bude dobrý

z
cestaSesitu = "C:\Users\OVRotating\Downloads\" & Dir(Sesit)
na
cestaSesitu = "C:\Users\OVRotating\Downloads\" & Dir("C:\Users\OVRotating\Downloads\" & Sesit)citovat
#051944
Fantasyk

€Ł мσşqμΐτσ napsal/a:

tak koukám mně to doma taky nefungovalo

jenom připomenu , že složka kterou jste poslal je pojmenovaná jako "Download", kde v příkazu jste měl "Downloads", takže teď nevím které je správně.

upravit když tak cestu v řadku viz níže pak už snad bude dobrý

z
cestaSesitu = "C:\Users\OVRotating\Downloads\" & Dir(Sesit)
na
cestaSesitu = "C:\Users\OVRotating\Downloads\" & Dir("C:\Users\OVRotating\Downloads\" & Sesit)


Tak todle pomohlo částečne.
Správně se otevřou soubory ale data se nezkopírují.
Když odstraním: nactenySesit.Close False
tak zůstanou aspoň sešity otevřené, ale listy jsou prázdné 7citovat
#051950
€Ł мσşqμΐτσ
tak trochu jsem to ještě předělal.

nevím přesné čím to může být. Možná zdrojové sešity nemají vždy jenom jeden list, nebo ne vždy se jmenují "Sheet0".

pokud ani teď to nebude fungovat budu potřebovat víc těch sešitů k porovnáni čím se od sebe liší. minimálně ty soubory u kterých vám to nefunguje
Příloha: zip51950_test.zip (41kB, staženo 38x)
citovat
#051952
Fantasyk

€Ł мσşqμΐτσ napsal/a:

tak trochu jsem to ještě předělal.

nevím přesné čím to může být. Možná zdrojové sešity nemají vždy jenom jeden list, nebo ne vždy se jmenují "Sheet0".

pokud ani teď to nebude fungovat budu potřebovat víc těch sešitů k porovnáni čím se od sebe liší. minimálně ty soubory u kterých vám to nefungujePříloha:
51950_test.zip (41kB, staženo 0x)


Vždy se jmenuje sheet0 a je tam jen jedencitovat
#051954
€Ł мσşqμΐτσ
a zkoušel jste novou verzi, kterou jsem sem nahrál, v předešlém příspěvku, jestli funguje?citovat
#051972
Fantasyk

€Ł мσşqμΐτσ napsal/a:

a zkoušel jste novou verzi, kterou jsem sem nahrál, v předešlém příspěvku, jestli funguje?


Jo funguje perfektně

Moc děkuji 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje