reageren op een melding tijdens een vba routine

  • Onderwerp starter Onderwerp starter nout
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

nout

Gebruiker
Lid geworden
11 sep 2012
Berichten
25
Hallo,

Iknheb een vba routine gemaakt. Deze opent excel documenten, echter tijdens de routine (openen van de documenenten krijg ik per document wat ik open een message box waarbij ik op de ok button moet drukken. Nu wil het drukken op de ok button in de lus opnemen. Is dit mogelijk?

alvast bedankt,

mvg,nout
 
Je kunt de melding ook onderdrukken met
Code:
Application.Displayalerts=false
 
hallo snb

de oplossing werkt niet.
De melding is:
Unable to locate ReportINI sheet, please make sure,Reports.xls is in the -xlstart subdirectory of the office program.

groeten,
nout
 
Heb je gedaan wat de melding aangeeft ?
 
nee, is dit een persoonlijke instelling? Ik krijg deze melding op het werk en thuis.
 
hallo snb

heb je ook een oplossing voor het volgende:
De lus do until gaat goed, echter wil ik ook cellen 1 malig kopieren en plakken uit 1 sheet. Ik heb het vermoeden dat het gaat dmv count van de workbooks en if then, dit heb ik geprobeert echter erkte dat niet. Nu heb ik onderstaande geprobeerd lukt echter ook niet. Heb jij hier een oplossing voor?

Bij voorbaat dank,

nout


Code:
Sub OpenLeesSluitFiles()
    Const BronPad As String = "D:\testmap\" 'verwijzing naar de map met Excel-bestanden
    Const BronWerkblad = "Report" 'verwijzing naar werkblad 2
    
    Dim BronBoek As String, BronPadBoek As String
    Dim BronSheet As Worksheet, DoelSheet As Worksheet
    Dim productnummer As Double
    
    productnummer = InputBox("geef sapnr. van het product")
    'in deze werkmap worden de gegevens verzameld
    Set DoelSheet = ActiveWorkbook.Worksheets(1)
    ' Doel wissen
    DoelSheet.Range("A:A").ClearContents
    ' eerste werkmap lezen
    BronBoek = Dir(BronPad & productnummer & "*.xls")
    'zolang er werkmappen zijn onderstaande herhalen
    Do Until BronBoek = ""
        'bepaal het pad en de werkmapnaam
        BronPadBoek = BronPad + BronBoek
        'open werkmap uit de map met werkmappen
        Workbooks.Open Filename:=BronPadBoek, ReadOnly:=True
        'gebruik het juiste werkblad
        Set BronSheet = ActiveWorkbook.Worksheets(BronWerkblad)
        'volgende regel bepaalt de copy van bron naar doel
        Range("B15:B25").Copy
        DoelSheet.Range("C" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Transpose:=True
        'sluit geopende werkmap zonder wijzigingen te bewaren
        ActiveWorkbook.Close SaveChanges:=False
        ' volgende werkmap lezen
        BronBoek = Dir
           
       Loop
    
    If BronBoek = "1" Then
    
        'bepaal het pad en de werkmapnaam
        BronPadBoek = BronPad + BronBoek
        'open werkmap uit de map met werkmappen
        Workbooks.Open Filename:=BronPadBoek, ReadOnly:=True
        'gebruik het juiste werkblad
        Set BronSheet = ActiveWorkbook.Worksheets(BronWerkblad)
        'volgende regel bepaalt de copy van bron naar doel
        Range("A15:A25").Copy
        DoelSheet.Range("C1").PasteSpecial Transpose:=True
        'sluit geopende werkmap zonder wijzigingen te bewaren
        ActiveWorkbook.Close SaveChanges:=False
        ' volgende werkmap lezen
        BronBoek = Dir
       
    End If
    
    
End Sub
 
Ik weet wel iemand die dit soort zaken voor jullie bedrijf snel kan oplossen.
Wat ik niet helemaal snap is dat bedrijven kapitalen uitgeven aan SAP, maar om de gegevens uit zo'n systeem gebruikersvriendelijk te maken en ermee verder te kunnen werken worden allerlei houtje-touwtje 'oplossingen' verzonnen en wordt iedere professionele aanpak zorgvuldig vermeden.
 
Laatst bewerkt:
hallo vba experts

de melding heeft te maken dat het te openen document een macro heeft, deze zorgt voor de message box waar je op oke moet klikken.
Is er een manier om ervoor te zorgen dat de macro niet geactiveerd wordt of kun je deze macro beeindigen?

Ik hoor graag van jullie.

groeten,

nout:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan