Nieuws:

Welkom op het PC Helpforum voor gratis advies èn hulp bij computerproblemen !

Hoofdmenu

VBA vraag excel

Gestart door mark1987vw, zaterdag 04 mei 2019, 20:14:05

Vorige topic - Volgende topic

0 Leden en 3 gasten bekijken dit topic.

mark1987vw

Er is iets in mijn VBA in excel dat een beetje gek is en ik vroeg me af of iemand dit weet.

Wanneer ik het bestand Startbedrag.xlsm 'los' open dan doet die door middel van volgende code een waarde halen uit een ander bestand.


Private Sub Workbook_Open()

Set exDoc = Workbooks.Open("Y:\Administratie\Kassa\Restaurant\Kassastaten\" & "Kassastaat " & Range("C2") & "-" & Range("A14") & ".xlsm")
    waarde2 = exDoc.Sheets("Restaurant").Range("D15")
    exDoc.Close False
    Range("D6").Value = waarde2
    MsgBox "Het muntgeld van de kassasstaat is automatisch toegevoegd!" & vbNewLine & " is € " & waarde2
End Sub

Dit werkt prima. Maar...

Ik heb een 'opslaan' macro in het bestand 'Kassastaat' en nadat die het heeft opgeslagen opent die automatisch het bestand 'Startbedrag.xlsm' wat dan naar mijn mening automatisch de macro moet uitvoeren zoals hierboven beschreven.

Het probleem is dat die dan een foutmelding geeft. Dit heeft vast iets te maken met dat het bestand Kassastaat nog geopend is. daarom dacht ik dan laat ik die sluiten na het uitvoeren van de macro en dan opent het startbedrag hem weer om de waarde eruit te halen maar dit werkt niet.

Code:
Sub OpslaanAls()

'OPSLAAN EXCEL

Pad = "Y:\Administratie\Kassa\Restaurant\Kassastaten\"
Doc = Range("A1").Value & " " & Range("C1").Value & "-" & Range("D1").Value & ".xlsm"
ActiveWorkbook.SaveAs Filename:=Pad & Doc

'OPSLAAN PDF

PADPDF = "Y:\Administratie\Kassa\Restaurant\Kassastaten\PDF\"
DOCPDF = ActiveSheet.Range("A1").Value & " " & ActiveSheet.Range("C1").Value & "-" & ActiveSheet.Range("D1").Value & ".PDF"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PADPDF & DOCPDF & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False

MsgBox prompt:="De kassastaat is opgeslagen! " & vbNewLine & "PDF: " & DOCPDF & vbNewLine & "EXCEL: " & Doc
 

'OPENEN NIEUW STARTBEDRAG

bnaam = "Y:\Administratie\Kassa\Restaurant\Startbedragen\Startbedrag.xlsm"
Workbooks.Open bnaam


ActiveWorkbook.Close False

End Sub

Dit is de code uit de kassastaat die niks meer doet dan 2x opslaan, het bestand Startbedrag openen en zichzelf daarna sluiten.

Ik snap alleen niet dat dan de macro aan de bovenkant van dit bericht niet wordt uitgevoerd maar wanneer ik hem gewoon aanklik in m'n verkenner het wel werkt.

SMF spam blocked by CleanTalk