Excel - pokračování makra při chybě souboru

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

Moderátor: Mods_senior

hujerus214
nováček
Příspěvky: 1
Registrován: červenec 20
Pohlaví: Muž
Stav:
Offline

Excel - pokračování makra při chybě souboru

Příspěvekod hujerus214 » 09 črc 2020 12:17

Zdravím,
potřeboval bych pomoct s řešením problému.

V excelovém souboru pracuji s listem, na kterém jsou vstupní data, tento list se mi při otevření smaže a automaticky nahradí aktuálním s daty z podnikové sítě. Externí soubor má vždy stejné jméno a leží na stejném místě - vše napsané pomocí makra v jiném souboru.
Potřeboval bych ale přidat podmínku, pokud se soubor nepodaří najít/ otevřít (například z důvodu výpadku sítě), aby mi původní data nesmazal.

stávající makro

'smazání listu DATA
Application.DisplayAlerts = False
Dim WS
For Each WS In Excel.Worksheets
If WS.Name = "DATA" Then
Sheets("DATA").Delete
Exit For
End If
Next

'nahrání aktuálních dat
Workbooks.Open Filename:= _
"\\cesta\Datovy_vystup.xlsx"
Sheets("Export_dat").Select
Sheets("Export_dat").Copy Before:=Workbooks("Objednávka.xlsm").Sheets( _4)
Sheets("Export_dat").Select
Sheets("Export_dat").Name = "DATA"
Windows("Datovy_vystup.xlsx").Activate
ActiveWorkbook.Close SaveChanges:=False


děkuji za pomoc

Reklama
Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 386
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline

Re: Excel - pokračování makra při chybě souboru

Příspěvekod elninoslov » 09 črc 2020 23:44

Od pásu bez akejkoľvek skúšky ...

Kód: Vybrat vše

Sub Reload_Data()
Dim wbNew As Workbook

    'pokus otevření souboru
    On Error Resume Next
    Set wbNew = Workbooks.Open(Filename:="\\cesta\Datovy_vystup.xlsx")
    On Error GoTo 0

    If Not wbNew Is Nothing Then
        Application.DisplayAlerts = False
       
        With ThisWorkbook
            'smazání listu DATA
            .Worksheets("DATA").Delete
            'nahrání aktuálních dat
            wbNew.Worksheets("Export_dat").Copy Before:=.Workbooks("Objednávka.xlsm").Sheets(4)
            .Worksheets("Export_dat").Name = "DATA"
        End With
       
        Application.DisplayAlerts = True
        wbNew.Close SaveChanges:=False
    End If
End Sub

EDIT: Close som umiestnil za End If, samozrejme má byť pred, opravil som.
Naposledy upravil(a) elninoslov dne 10 črc 2020 00:45, celkem upraveno 1 x.

Uziv00
Pohlaví: Nespecifikováno

Re: Excel - pokračování makra při chybě souboru

Příspěvekod Uziv00 » 10 črc 2020 00:33

Taky od pasu... Je to vbs, takže pro vba bude možná potřeba upravit.

Kód: Vybrat vše

   file = "\\cesta\Datovy_vystup.xlsx"
   Set fso = CreateObject("Scripting.FileSystemObject")   
   If (fso.FileExists(file)) Then
   ' stávající makro 
   End If
   Set fso = Nothing


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4704
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12131
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    9
    2464
    od pcmaker Zobrazit poslední příspěvek
    13 čer 2025 19:01
  • Velikost souboru a složek na disku
    od L.L » 05 úno 2025 11:50 » v Vše ostatní (sw)
    5
    3243
    od L.L Zobrazit poslední příspěvek
    05 úno 2025 17:42
  • IDM hláška o nemožném stažení souboru Příloha(y)
    od bluenite » 04 črc 2024 11:08 » v Vše ostatní (inet)
    2
    4322
    od bluenite Zobrazit poslední příspěvek
    06 črc 2024 19:40

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

Kdo je online

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