• 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.

xlFillDefault

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

TJ86

Gebruiker
Lid geworden
28 sep 2014
Berichten
127
Hoi,

als ik volgende code in VBA gebruik krijg een foutmelding 438 (Fout tijdens uitvoering De eigenschap of methode wordt niet ondersteund door dit object)

Code:
ActiveWorkbook.Worksheets("Inleesbestand").Selection.AutoFill Destination:=Range("F1:F683"), Type:=xlFillDefault


Wat doe ik fout?

grt TJ
 
Probeer het zo eens
Code:
Sheets("Inleesbestand").Range("F1").AutoFill Range("F1:F683")
 
Bedankt! Nu krijg ik echter de foutmelding 1004 "Methode AutoFill van klasse Range is mislukt"
 
Plaats dan het bestandje met de code maar even.
 
Dit is de volledige code:

Code:
Private Sub CommandButton1_Click()
    
    Sheets("Totaallijst").Select
    Columns("AP:AR").Select
    Selection.SpecialCells(xlCellTypeVisible).Copy
   
    Workbooks.Open ("Inleesbestand\Inleesbestand.csv")
      
    ActiveWorkbook.Worksheets("Inleesbestand").Range("C1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    ActiveWorkbook.Worksheets("Inleesbestand").Rows("1:4").Select
    Selection.Delete Shift:=xlUp

    ActiveWorkbook.Worksheets("Inleesbestand").Columns("C:E").Select
    ActiveWorkbook.Worksheets("Inleesbestand").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Inleesbestand").Sort.SortFields.Add Key:=Range("C1:C904") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Inleesbestand").Sort
        .SetRange Range("C1:E2000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("Inleesbestand").Range("C1").Select

    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").FormulaR1C1 = "=RC[-3]=R[1]C[-3]"
    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").Select
    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").AutoFill Range("F1:F683")
    Range("F1:F683").Select
    
    Application.CutCopyMode = False
    
    Dim OutPut As Integer
    OutPut = MsgBox("Klaar! Alléén de dubbele artikelen dienen nog verwijderd te worden waarvan de goedkóópste dient te blijven staan!", vbInformation, "Gereed")

End Sub



Het gaat nu fout bij ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").AutoFill Range("F1:F683")
 
Volgens mij gaat het hier al fout

Code:
Workbooks.Open ("Inleesbestand\Inleesbestand.csv")
 
Nee, ik heb het pad weggehaald, het juiste bestand wordt geopend, het gaat fout bij de regel ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").AutoFill Range("F1:F683")
 
De code maar een beetje opgeschoond.

Code:
Private Sub CommandButton1_Click()
  Sheets("Totaallijst").Columns("AP:AR").SpecialCells(xlCellTypeVisible).Copy
  
    With Workbooks.Open("E:\Temp\Inleesbestand.csv").Sheets("Inleesbestand")
      .Range("C1").PasteSpecial xlPasteValues
      .Rows("1:4").Delete
      .Columns("C:E").Sort .Cells(1, 3), , , , , , , xlNo
      .Range("F1").FormulaR1C1 = "=RC[-3]=R[1]C[-3]"
      .Range("F1").AutoFill .Range("F1:F683")
    End With
    
    MsgBox "Klaar! Alléén de dubbele artikelen dienen nog verwijderd te worden waarvan de goedkóópste dient te blijven staan!", vbInformation, "Gereed"
End Sub
 
Vervang dit:
Code:
ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").FormulaR1C1 = "=RC[-3]=R[1]C[-3]"
    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").Select
    ActiveWorkbook.Worksheets("Inleesbestand").Range("F1").AutoFill Range("F1:F683")
door dit:

Code:
ActiveWorkbook.Worksheets("Inleesbestand").Range("F1:F683").FormulaR1C1 = "=RC[-3]=R[1]C[-3]"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan