• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

ophalen files 2007 vs 2010

Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
9.020
Besturingssysteem
Win11
Office versie
Office 365
Met bijgaand bestand combineer ik diverse bestanden met 1 tabblad tot 1 bestand met diverse tabbladen.
De layout samen met vba, groepering en datavalidatie blijft hierbij bestaan.

Met excel 2007 is dit zo gepiept
Met excel 2010 loopt excel vast en zegt :[Compatibility Mode](reageert niet)
Om het ingewikkeld te maken heb ik het bestand meestal nodig met Ecel 2003


Wie kan hem zo maken dat hij zowel met 2007 als met 2003 en 2010 werkt.
 

Bijlagen

Laatst bewerkt:
Een xlsx bestand kan geen vba bevatten.
En met en xlsm bestand loopt excel 2010 ook vast.

helaas :(

Misschien nog ter verduidelijking:
Excel loopt pas vast op het moment van ophalen van de bestanden.
Je ziet alle bestanden als tabbladen verschijnen en blijft daarna "eeuwig" nadenken.
Elke opgehaald bestand heeft slechts 1 tabblad.
 
Ik ben er achter dat het niet aan dit betand ligt maar aan de bestanden die ik ophaal

De ophaal bestanden geven een foutmelding van '_Regression_Out' bij samenvoegen van 2 bestanden.
En dan slaat excel vast

Ik ga op zoek naar wat dit betekend en hoe het opgelost moet worden.
Of heeft iemand een idee wat dit inhoud?
 
Is dit een alternatief ?

Code:
Sub snb()
  c00 = "G:\OF\"
  c01 = Dir(c00 & "*.xls")
    
  Do Until c01 = ""
    With GetObject(c00 & c01)
      .SaveAs Replace(.FullName, ".xls", ".csv"), 24
      .Close False
    End With
    c02 = c02 & vbCrLf & CreateObject("scripting.filesystemobject").opentextfile(Replace(c00 & c01, ".xls", ".csv")).readall
    c01 = Dir
  Loop
    
  CreateObject("scripting.filesystemobject").createtextfile(c00 & "samen.csv").write c02
  Workbooks.Open c00 & "samen.csv"
End Sub
 
Heb je code niet getest maar het komt me voor dat de regression fout veroorzaakt wordt door een van de winapi calls. Die kun je omzeilen, dit is ook nog een alternatief (kopieert ALLE sheets uit de filemask bestanden naar een nieuwe map):
Code:
Public Sub SamenvoegenWerkmappen()
    
    Dim wb As Excel.Workbook
    Dim sPath As String, sFileMask As String, sFileName As String
    Dim lNSheets As Long, i As Long
    
    ' set path and filemask
    sPath = ActiveWorkbook.Path & "\"
    sFileMask = "test*.xls"
    
    With Excel.Workbooks.Add
        
        ' store no of initial sheets in target workbook, to delete later
        lNSheets = .Worksheets.Count
        
        ' loop files, open, copy, close
        sFileName = Dir(sPath & sFileMask)
        Do Until sFileName = ""
            Set wb = Workbooks.Open(Filename:=sPath & sFileName)
            wb.Sheets.Copy After:=.Sheets(.Sheets.Count)
            wb.Close
            sFileName = Dir
        Loop
        
        ' if sheets were added then delete initial sheets from target workbook
        If .Sheets.Count > lNSheets Then
            Application.DisplayAlerts = False
            For i = 1 To lNSheets: .Sheets(1).Delete: Next i
            Application.DisplayAlerts = True
        End If
        
        ' save target as
        Application.DisplayAlerts = False
        .SaveAs sPath & "Samen", FileFormat:=xlExcel8 ' xlOpenXMLWorkbook
        Application.DisplayAlerts = True
        
    End With
    
End Sub
 
Is dit een alternatief ?

Helaas niet voor mij want ik hij voldoet niet aan:
Met bijgaand bestand combineer ik diverse bestanden met 1 tabblad tot 1 bestand met diverse tabbladen.
De layout samen met vba, groepering en datavalidatie blijft hierbij bestaan

De bestanden die opgehaald moeten worden zijn al vrij oud en steeds weer bewerkt en dan blijft er dus veel rotzooi en verwijzingen achter.
Ik heb het opgelost door met een schone lei te beginnen.

Dank allen voor de reacties
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan