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

Formule bewaren op achtergrond

Status
Niet open voor verdere reacties.

MartijnLiempde

Gebruiker
Lid geworden
27 mei 2016
Berichten
100
Goedemorgen.

Ik heb een document waar deze formule in staat.

=ALS.FOUT(INDEX(Klantnaam;VERGELIJKEN($B$4;zoekcode;0));"")

soms komt het voor dat er een nieuwe klant of een andere benaming aan wordt gegeven.

dit vult mijn collega dan handmatig in en de keer erna is die formule dus verdwenen / overschreven.
hoe kan ik deze formule vast aan een cel toewijzen maar wel behouden dat de cel handmatig bewerkbaar blijft.

grtz!;)
 
mogelijkheden:
1 verberg het sheet "Leeg werkorder" en laat met vba dmv bvb een knop een kopie maken waar in gewerkt kan worden.
2 laat vba op het moment dat de zoekcode is ingevuld de betreffende cellen invullen. (dan heb je geen formules meer nodig.)
 
Zo iets misschien.
 

Bijlagen

  • Werkorder vb (cobbe).xlsb
    120,5 KB · Weergaven: 24
hij veranderd ze wel cobbe alleen krijg ik deze foutmelding

Fout 1004 tijdens uitvoering:

Eigenschap VLookup van klasse worksheetfunction kan niet worden opgehaald
foutopsporing zegt dat het hier aan ligt
.Cells(5, 2) = WorksheetFunction.VLookup(.Cells(4, 2), zoekcode, 2, 0)
 
In het bestand dat ik postte loopt dat toch zonder problemen?
 
bij mij liep het ook vast
probeer het eens met deze code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Cells(4, 2)) Is Nothing Then Exit Sub
if target.count>1 then exit sub
Set R = Sheets("klantenbestand").Range("zoekcode").Find(.Cells(4, 2))
If R Is Nothing Then Exit Sub
With Sheets("Leeg Werkorder")
    Application.EnableEvents = False
        .Cells(5, 2) = R.Offset(, 1)
        .Cells(6, 2) = R.Offset(, 2)
        .Cells(7, 2) = R.Offset(, 3)
        .Cells(8, 2) = R.Offset(, 4)
    Application.EnableEvents = True
End With
End Sub
 
Laatst bewerkt:
Of iets korter

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(4, 2)) Is Nothing And Target.Count = 1 Then
    Set r = Sheets("klantenbestand").Range("zoekcode").Find(Cells(4, 2))
    If Not r Is Nothing Then Range("B5:B8") = Application.Transpose(r.Offset(, 1).Resize(, 4))
End If
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan