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

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

Moderátor: Mods_senior

Odpovědět
hujerus214
nováček
Příspěvky: 1
Registrován: 09 črc 2020 10:32

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

Příspěvek od hujerus214 »

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
Uživatelský avatar
elninoslov
Level 2.5
Level 2.5
Příspěvky: 386
Registrován: 12 čer 2013 23:40

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

Příspěvek od elninoslov »

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

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

Příspěvek od Uziv00 »

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
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14212 Zobrazení
    Poslední příspěvek od Snekment
  • Blokování stahovaných souborů
    od Riviera kid » » v Windows 11, 10, 8...
    10 Odpovědi
    6769 Zobrazení
    Poslední příspěvek od Riviera kid
  • Velikost souboru a složek na disku
    od L.L » » v Vše ostatní (sw)
    5 Odpovědi
    5621 Zobrazení
    Poslední příspěvek od L.L
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7193 Zobrazení
    Poslední příspěvek od atari
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5724 Zobrazení
    Poslední příspěvek od atari

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