https://www.easyusenet.nl/nl/
Online marketing Groningen/
https://www.allekabels.nl/

Auteur Topic: VBA vraag excel  (gelezen 84 keer)

0 leden en 1 gast bekijken dit topic.

Offline mark1987vw

  • Lid
  • *
  • Berichten: 1
  • Likes: +0/-0
VBA vraag excel
« Gepost op: zaterdag 04 mei 2019, 20:14:05 »
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.

 

https://www.kwf.nl/
https://www.alzheimer-nederland.nl/