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

Foutmelding in Excel

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

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.537
ik gebruik onderstaande code maar krijg steeds de foutmelding:

Excel cannot complete this task with available resources. Choose less data or close other applications.

Wat kan ik aan de code aanpassen om deze niet meer te krijgen? Als ik inmmers op oke klik gaat de code gewoon door.

Code:
Sub Order()
'
' Macro recorded 9-10-2012 by me

'Dit voorkomt het knipperen van het beeldscherm.
 Application.ScreenUpdating = False

     Columns("C:C").Select
    Selection.Insert Shift:=xlToRight
    Range("C3") = "Collo No"
    Range("C4").Select

    Dim wkb As Workbook, sht As Worksheet
    'Deze regel opent Wel het bestand, maar als object. Het is niet zichtbaar of oproepbaar vanuit excel.
    Set wkb = GetObject("P:\rapportage.csv")    'hier je pad + bestand
    Set sht = wkb.Sheets(1)    '1 is eerste werkblad, of anders werkbladnaam invoeren
    ActiveCell.FormulaR1C1 = _
        "=LOOKUP(C[-1],rapportage.csv!C8,rapportage.csv!C6)"
        Selection.AutoFill Destination:=Range("C4:C" & Cells(Rows.Count, 2).End(xlUp).Row)
    wkb.Close False    'anders blijft het wkb in VBA als geopend achter
         
    
End Sub
 
vrouw

Probeer het zo maar eens, zet aan het begin van je code

Code:
On error resume next
Application.ScreenUpdating = False
rest van je code
 
Laatst bewerkt door een moderator:
Thanks, nu gaat ie door zonder de foutmelding.
Maar nu heb ik een probleem met deze regel:
Selection.AutoFill Destination:=Range("C4:C" & Cells(Rows.Count, 2).End(xlUp).Row)
De macro buged daarop
De bedoeling met die regel is dat hij doorkopieert naar beneden afhankelijk of er in de cel ervoor data staat.

Hoop dat het duidelijk is
 
Laatst bewerkt door een moderator:
de formule die je in wil voeren is incorrect.

Code:
Sub Order()
    with sheets(1)
      .Columns(3).Insert
      .Range("C3") = "Collo No"
      .range("C4").resize(.cells(rows.count,2).end(xlup).row)="=*****"
    end with
    GetObject("P:\rapportage.csv")
End Sub
 
Laatst bewerkt:
de formule die je in wil voeren is incorrect.

Code:
Sub Order()
    with sheets(1)
      .Columns(3).Insert
      .Range("C3") = "Collo No"
      .range("C4").resize(.cells(rows.count,2).end(xlup).row)="=*****"
    end with
    GetObject("P:\rapportage.csv")
End Sub

Thanks,
En dat is dan de gehele code maar dan korter en correct die ik had?
Ik kan nu ff niet uit proberen. morgen pas weer :confused:
 
Wat word er bedoeld met de sterretjes uit deze regel?:o:o

.range("C4").resize(.cells(rows.count,2).end(xlup).row)="=*****"
 
Dat je daar een correcte formule moet invoeren.
Daar kom je achter met behulp van de macrorecorder.
 
Dus je bedoeld de lookup formule?
Sorry hoor maar ik ben ook weer niet zo`n kei in VBA en ben nu een beetje de weg kwijt hoe de totale macro moet worden.
 
Laatst bewerkt door een moderator:
Oke, dat heb ik dus gedaan de lookup code daar (op de lpaalts van de sterretjes) geplaatst en dat gaat goed.
Echter krijg ik nu na de autofill in kolom C na de laatste lookup de #N/A melding als er niets in de kolom ervoor staat.
 
Laatst bewerkt door een moderator:
Dan moet je de LookUp-formule aanpassen dat de cel leeg blijft als er niets gevonden wordt maw =Als(LookUp-formule = "";"";LookUp-formule).
Of in XL2007 met de ISFOUT-methode.
Je test dus eerst de formule uit op je werkblad en daarna neem je hem op in je VBA-code.
Ik zou eerder voor volgende formule gaan in C2 voor juiste zoekresultaten.
Code:
=INDEX(Sheet2!$A$1:$B$44;VERGELIJKEN($B2;Sheet2!$B$1:$B$44;0);1)
 
Laatst bewerkt:
HeHe, na eindelijk wat af geknoeid te hebben heb ik nu deze formule die werkt:

Code:
=INDEX('P:\[bestand2.csv]bestand2'!$F:$H;MATCH(E:E;'P:\[bestand2.csv]bestand2'!$H:$H;0);1)

Maar hoe krijg ik nu, dat de cel leeg blijft als er niets gevonden wordt? Zoals warme bakkertje zegt iets met =ALS maar dan moet ik die ook in de bestaande formule verwerken?
 
Laatst bewerkt door een moderator:
Code:
=ALS.FOUT(INDEX('P:\[bestand2.csv]bestand2'!$F:$H;MATCH(E:E;'P:\[bestand2.csv]bestand2'!$H:$H;0);1);"")
 
In de VBA heb ik nu deze staan maar wil niet werkend te krijgen.

Code:
.Range("C4") = "=IF.ERROR(INDEX(bestand.csv!C6:C8,MATCH(RC[-1],bestand.csv!C8),1);"")"
 
Neem de werkende formule op met de macrorecorder terwijl je ze in de cel intypt.
 
De formule werkt wel maar ik krijg het niet voor elkaar dat de cel leeg blijft als er niets gevonden word
 
Laatst bewerkt door een moderator:
Welke XL-versie gebruik je ? Als.Fout werkt enkel vanaf XL2007.
 
@vrouw Vier onnodige quotes verwijderd. Wanneer je direct reageert op een reactie is het niet nodig om dat bericht te quoten. Onnodig quoten heet dat, hetgeen niet gewenst is.
 
Code:
.Range("C4") = "=IF.ERROR(INDEX(bestand.csv!C6:C8,MATCH(RC[-1],bestand.csv!C8),1);"")"

De Engelse vertaling van als.fout is:

IFERROR => dus zonder punt.

Dit zou je in de code eens kunnen uitproberen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan