Hallo,
Tot voor kort gebruikte ik Excel 2003 en daar is onderstaande macro toen ook in gemaakt en dat werkte prima.
Echter heb ik nu inmiddels 2007 en dan loopt de macro stuk als de macro in een .xls bestand staat. Als het in een .xlsx staat gaat het wel goed.
Nu zal je zeggen dan sla je het toch op in een .xlsx bestand maar dat gaat niet omdat ik het .xls bestand gemaild krijg van diverse (zeker >50) leveranciers waarvan er nog veel een oudere (dus 2003) versie gebruiken.
Hoe is het op te lossen dat mijn 2007 versie ook de macro in een .xls (2003 versie) gewoon kan draaien?
Dit is de code waar het om gaat:
loopt stuk op de rode regel.
Tot voor kort gebruikte ik Excel 2003 en daar is onderstaande macro toen ook in gemaakt en dat werkte prima.
Echter heb ik nu inmiddels 2007 en dan loopt de macro stuk als de macro in een .xls bestand staat. Als het in een .xlsx staat gaat het wel goed.
Nu zal je zeggen dan sla je het toch op in een .xlsx bestand maar dat gaat niet omdat ik het .xls bestand gemaild krijg van diverse (zeker >50) leveranciers waarvan er nog veel een oudere (dus 2003) versie gebruiken.
Hoe is het op te lossen dat mijn 2007 versie ook de macro in een .xls (2003 versie) gewoon kan draaien?
Dit is de code waar het om gaat:
loopt stuk op de rode regel.
Code:
Sub Order()
Application.ScreenUpdating = False
Dim wkb As Workbook, sht As Worksheet
Set wkb = GetObject("C:\rapportage.csv")
With Sheets(1)
.Columns(3).Insert
.Range("C3") = "artikel No"
[COLOR="#FF0000"].Range("C4") = "=IF(ISERROR((INDEX(rapportage.csv!C6:C8,MATCH(C[-1],rapportage.csv!C8,0),1))),"""",(INDEX(rapportage.csv!C6:C8,MATCH(C[-1],rapportage.csv!C8,0),1)))"[/COLOR]
Range("C4").Select
Selection.AutoFill Destination:=Range("C4:C1" & Cells(Rows.Count, 2).End(xlUp).Row)
End With
Range("A4").Select
Selection.Copy
Application.DisplayAlerts = False
wkb.Close False 'anders blijft het wkb in VBA als geopend achter
End Sub