sickofitall
Gebruiker
- Lid geworden
- 29 sep 2008
- Berichten
- 375
Hallo
Ik heb een macro geschreven en deze werkt prima op mijn pc. Echter, ik heb deze macro geschreven voor iemand die op een Mac werkt.
Als ik de macro probeer op de Mac krijg ik de volgende foutmelding:
Compileerfout : Kan de methode of het gegevenslid niet vinden.
Weet iemand wat dit wilt zeggen en wat ik eraan kan doen?
Dit is mijn macro:
Hopelijk is de macro op zich een beetje duidelijk.
Ik krijg een foutmelding reeds bij het eerste lijn: Sub verloop()
Alvast bedankt voor de moeite!!
Ik heb een macro geschreven en deze werkt prima op mijn pc. Echter, ik heb deze macro geschreven voor iemand die op een Mac werkt.
Als ik de macro probeer op de Mac krijg ik de volgende foutmelding:
Compileerfout : Kan de methode of het gegevenslid niet vinden.
Weet iemand wat dit wilt zeggen en wat ik eraan kan doen?
Dit is mijn macro:
Code:
Sub verloop()
'rijen invoegen
'--------------
Range("D1").Value = 1 'telling
Rows("235:464").Insert Shift:=xlDown
Range("D1").Value = 2 'telling
Range("A5:L234").Copy
Range("D1").Value = 3 'telling
Range("A235").PasteSpecial Paste:=xlPasteValues '!!! eerst copy/special om daarna opnieuw formules over te kopiëren met oud bereik en daarna NEW op te zoeken
Range("D1").Value = 4 'telling
Application.CutCopyMode = False
'bereiken invullen
'-------------------
' Range("M1:M2").Copy
' Range("M5").Paste
' Range("M235").Paste
' Application.CutCopyMode = False
Range("M5").FormulaR1C1 = _
"=ADDRESS(ROW(RC[-9]),COLUMN(RC[-9]))&"":""&ADDRESS(ROW(R[229]C[-1]),COLUMN(R[229]C[-1]))"
Range("D1").Value = 5 'telling
Range("M6").FormulaR1C1 = _
"=ADDRESS(ROW(R[229]C[-8]),COLUMN(R[229]C[-8]))&"":""&ADDRESS(ROW(R[3348]C[-1]),COLUMN(R[3348]C[-1]))"
Range("D1").Value = 6 'telling
Range("M235").FormulaR1C1 = _
"=ADDRESS(ROW(RC[-9]),COLUMN(RC[-9]))&"":""&ADDRESS(ROW(R[229]C[-1]),COLUMN(R[229]C[-1]))"
Range("D1").Value = 7 'telling
Range("M236").FormulaR1C1 = _
"=ADDRESS(ROW(R[229]C[-8]),COLUMN(R[229]C[-8]))&"":""&ADDRESS(ROW(R[3348]C[-1]),COLUMN(R[3348]C[-1]))"
Range("D1").Value = 8 'telling
'hulpkolom invullen
Range("L235").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC5,INDIRECT(R236C13),7,0)),2,VLOOKUP(RC5,INDIRECT(R236C13),7,0)-RC[-8])"
Range("D1").Value = 9 'telling
Range("L235").AutoFill Destination:=Range("L235:L464"), Type:=xlFillDefault
Range("D1").Value = 10 'telling
'Left/right invullen
Range("I235").FormulaR1C1 = _
"=IF(IS.EVEN(RC[3]),"" "",""Change left/right page"")"
Range("D1").Value = 11 'telling
Range("I235").AutoFill Destination:=Range("I235:I464"), Type:=xlFillDefault
Range("D1").Value = 12 'telling
'Formules oud bereik overkopiëren
'--------------------------------
Range("F235").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC5,INDIRECT(R236C13),2,0)),"""",VLOOKUP(RC5,INDIRECT(R236C13),2,0))"
Range("D1").Value = 13 'telling
Range("G235").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC5,INDIRECT(R236C13),3,0)),"""",VLOOKUP(RC5,INDIRECT(R236C13),3,0))"
Range("D1").Value = 14 'telling
Range("H235").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC5,INDIRECT(R236C13),6,0)),"""",VLOOKUP(RC5,INDIRECT(R236C13),6,0))"
Range("D1").Value = 15 'telling
Range("F235:H235").AutoFill Destination:=Range("F235:H464"), Type:=xlFillDefault
Range("D1").Value = 16 'telling
'NEW gegevens overnemen
'----------------------
Range("A5").Select
Dim rijg As Long
rijg = 5
Do Until rijg = 234
If Cells(rijg, 8).Value = "NEW" Then
Cells(rijg + 230, 6).Value = Cells(rijg, 6).Value
Cells(rijg + 230, 7).Value = Cells(rijg, 7).Value
Cells(rijg + 230, 8).Value = Cells(rijg, 8).Value
Range("D1").Value = rijg + 12 'telling
rijg = rijg + 1
Else
Range("D1").Value = rijg + 12 'telling
rijg = rijg + 1
End If
Loop
'Invulblad leegmaken
'-------------------
'sorteernummer met één vermeerderen
[A3] = [A3] + 1
Range("D1").Value = 247 'telling
'cataloognaam verwijderen
Range("C5").ClearContents
Range("D1").Value = 248 'telling
'Formules invoegen ----> Vaste formules staan op F5:I5
Range("E5:I5").AutoFill Destination:=Range("E5:I234"), Type:=xlFillDefault
Range("D1").Value = 249 'telling
'Werkblad aanmaken
'-----------------
'bereikformule
Sheets("Verloop").Range("D1").FormulaR1C1 = "=Gegevens!R[234]C[9]"
'verloop cataloognaam
Sheets("Verloop").Range("D8").Value = Sheets("Gegevens").Range("B3").Value
'werkblad aanmaken + naam invullen
Sheets("Verloop").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
Sheets("Verloop (2)").Name = Sheets("Gegevens").Range("B3").Value
'afdrukbereik
Dim rij As Long
rij = 34
Do Until Cells(rij, 23).Value = "X"
rij = rij + 17
Loop
ActiveSheet.PageSetup.PrintArea = "$A$1:$V$" & rij
Sheets("Gegevens").Select
Range("A5").Select
Range("D1").Value = 250 'telling
MsgBox "Update OK ", vbExclamation
Range("D1").Value = 0 'telling
End Sub
Hopelijk is de macro op zich een beetje duidelijk.
Ik krijg een foutmelding reeds bij het eerste lijn: Sub verloop()
Alvast bedankt voor de moeite!!