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

waarde van cel in andere cel weergeven zonder formule

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

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.213
Beste,

Ik heb een vraag, en weet niet of deze te beantwoorden is.
Ik zal proberen mijn vraag zo duidelijk mogelijk uit te leggen.

Ik werk nu aan een formulier, en met verticaal zoeken zoek ik de gegevens op uit een andere excel formulier. Dit gaat goed. Nu komt het voor dat de gegevens niet in het andere excel formulier voorkomt, en moet dus met de hand de gegevens er in gezet worden, waar de formule staat. Zodra ze dit nu doen wordt de formule van verticaal zoeken verwijderd.

Ik ondervang het nu op door een sjabloon te maken van het formulier, maar dan moeten ze deze elke keer weer afsluiten en weer opnieuw opstarten als ze een volgende forlmulier willen invullen,erg omslachtig.

Nu mijn vraag is het mogelijk om via als ik in cel A1 een artikelnummer intyp 123456
dat dan via verticaal zoeken er een waarde in B2 neergezet wordt terwijl de formule bv in AA1 staat. Maar dan wel zo dat er in B2 geen formule staat.

Ik hoop dat mijn probleem duidelijk is, en mochten er ander suggesties zijn dan hoor ik dit graag.

Groet HWV
 
Je kunt geen verwijzing of formule in een cel zetten en tevens gegevens in die cel zetten zonder de formule te overschrijven.
Wat je kan doen is mbv VBA een formule plaatsen indien een zoekcriteria in de A-kolom wordt geplaatst.
De cel kan je nadien overschrijven waarna deze weer wordt ingevuld als er een wijziging plaatsvindt in de A-kolom.

Met vriendelijke groet,


Roncancio
 
VBA is hier de beste oplossing voor

Beste,

Bedankt voor uw reactie.
Ik had een klein vermoeden dat dit niet op te lossen is met de formule in excel, en dat dit via VBA gemaakt moet gaan worden.
Hier moet waarschijnlijk de Find functie voor gebruikt moeten worden.
Helaas gaat mijn VBA kennis niet zo ver. Kan u een voorbeeld geven van hoe het zo moeten, ik zou u zeer dankbaar zijn.

Alvast bedankt voor de genomen moeite

HWV
 
Een simpel voorbeeld.
In werkblad2 staan een aantal gegevens.
Als je in de A-kolom van werkblad1 iets intoetst, dan zoekt de macro of het gezochte item in de A-kolom van Blad2 staat.
Is dat het geval dan wordt het naastgelegen waarde in de B-kolom (van Blad1) geplaatst.
Zo niet, dan blijft de B-kolom leeg.
Je kunt de waarde in de B-kolom overschrijven/invullen.
Zodra je in de A-kolom van die regel iets invult, gaat de macro weer zoeken.

Met vriendelijke groet,


Roncancio
 

Bijlagen

Het werkt

Beste,

Knap werk geleverd werkt goed.
Hij gaat inderdaad zoeken in het andere tabblad.
Ik beneen beetje aan het knutselen geweest maar kom er niet in iut om te laten zoeken in :
"P:\automatisering\Formulieren\Prijslijst\Voorraad.xls"
Sheets("Voorraad").Select


Het zou ergens in dit stukje geplaats meoet worden :
Set zk = Worksheets(2).Range("A:A")
maar krijg een fout als ik dit daar invul.

groet HWV
 
Verder geprobeerd

Beste,

ben er druk mee in de weer om te kijken hoe ik het dit het betste kan plaatsen in mijn document.
Even zoeken maar ik ben er achter hoe ik de waarde kan laten komen in kom B C D enz.
De kolom waar ik de waarde invul 1 ( A ) dus wat ik zoek wil ik veranderen,
Mijn logica is als ik deze veranderd naar 2 dat hij dan ik kolom 2 ( B ) gaat zoeken of er een overeenkomst is met blad2.
Op één of andere manier doe ik toch iets verkeerd want het lukt mij nog steeds niet om de zoekwaarde kolom te veranderen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
    Set zk = Worksheets(2).Range("A:A").Find(Range("A" & Target.Row).Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not zk Is Nothing Then
        Range("c" & Target.Row).Value = Worksheets(2).Range(zk.Address).Offset(0, 3)
    Else
        Range("c" & Target.Row).Value = ""
    End If
End If
End Sub

Kunt u mij advies geven.

HWV
 
Je moet de A in onderstaande regel ook aanpassen;
Code:
Set zk = Worksheets(2).Range("[COLOR="Blue"]A:A[/COLOR]").Find(Range("[COLOR="Red"]A[/COLOR]" & Target.Row).Value, LookIn:=xlValues, lookat:=xlWhole)

Dus in werkblad2 in de A-kolom (Blauw) wordt gezocht naar wat er in kolom A (Rood) van de gewijzigde cel staat.

Met vriendelijke groet,


Roncancio
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
    Set zk = Workbooks("Voorraad.xls").Worksheets("Voorraad").Range("A:A").Find(Range("B" & Target.Row).Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not zk Is Nothing Then
        Range("C" & Target.Row).Value = Workbooks("Voorraad.xls").Worksheets("Voorraad").Range(zk.Address).Offset(0, 1)
    Else
        Range("C" & Target.Row).Value = ""
    End If
End If
End Sub

Het bestand Voorraad.xls moet steeds geopend zijn wil dit werken

Mvg

Rudi
 
Laatst bewerkt:
Echt blij

Beste allemaal,

Ik wil jullie bedanken voor de input die jullie mij hebben gegeven.
Ik ben echt blij dat het op deze manier gelukt is, scheelt een hoop ergenis.

Thanks :thumb:

HWV
 
of

Private Sub Worksheet_Change(ByVal Target As Range)
on error resume next
If Target.Column = 2 Then
Target.offset(,1).Value = ""
Target.offset(,1).Value= Workbooks("Voorraad.xls").sheets("Voorraad").columns(1).Find(Target.Value, ,xlValues, xlWhole).offset(,1).value
End If
End Sub
 
Even de weg kwijt

Beste SNB,

Bedankt voor de weer kortere versie.
Ik ben bezig om te begrijpen hoe deze is opgebouwd ( gaat me nog niet lukken)

blad1 kolom 2 (B) voer ik mijn artikelnummer in en de waarde moet geplaats worden in blad 1kolom 5 (E)
Die gaat zoeken in Voorraad.xls blad voorraad, zoekwaarde staat in kolokm 1 (A) en de waarde wan de uitkomst staat in kolom 22 (V).
Kunt u een kleine uitleg geven over uw formule.

Het mooi is dat er geen formule`s zitten in het werkblad zelf dus deze kunnen niet gewist worden.
Het probleem dat zich nu ook voordoet is dat zodra je iets in vult dat deze in de kolom er na gezet kan worden.
Nu wil ik dus ook als ik in kolom 4 (D) een debiteurennummer zet dat dan de uitkomst onder elkaar komt.
Debnr.
Naam
adres
Postcode woonplaats.

Met verticaal zoeken is dit geen probleem , hoe vang ik dit op een code.

Groet HWV
 
Laatst bewerkt:
Aangepaste macro

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
on error resume next
If Target.Column = 2 Then
Target.offset(,3).Value = ""
Target.offset(,3).Value= Workbooks("Voorraad.xls").sheets("Voorraad").columns(1).Find(Target.Value, ,xlValues, xlWhole).offset(,21).value
End If
End Sub

Mvg

Rudi
 
Ok bednakt

Mooi werkt goed.

enkel zit ik nog wel met het volgende :
mooi is dat er geen formule`s zitten in het werkblad zelf dus deze kunnen niet gewist worden.
Het probleem dat zich nu ook voordoet is dat zodra je iets in vult dat deze in de kolom er na gezet kan worden.
Nu wil ik dus ook als ik in kolom 4 (D) een debiteurennummer zet dat dan de uitkomst onder elkaar komt.
Debnr.
Naam
adres
Postcode woonplaats.

Met verticaal zoeken is dit geen probleem , hoe vang ik dit op een code.

Groet HWV
 
Vraag

Beste SNB,

Bedankt voor de complimenten aan Rudi. Rudi heeft me daar inderdaad goed mee geholpen. Ik heb uw gedeelte verwerkt in mijn formulier en er voor gezorgd dat de uitkomst op de juiste plek komt te staan. Nu zit ik dus nog met het probleem dat het ipv dat de uitkomst in de opvolgende kolomen moet komen. Maar onder elkaar.
Kunt en wil u mij daar bij helpen , want ik kom er niet verder mee.

Debnr.

Naam
Adres
Postcode Woonplaats

Alvast weer bij voorbaat mijn dank

HWV

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
on error resume next
If Target.Column = 2 Then
Target.offset(,1).Value = ""
Target.offset(,1).Value= Workbooks("Voorraad.xls").sheets("Voorraad").columns(1).Find(Target.Value, ,xlValues, xlWhole).offset(,1).value
End If
End Sub
 
In bijlage wat ik denk dat je bedoeling is

Mvg

Rudi
 

Bijlagen

Geweldig

Rudi,

Bedankt voor de input :thumb:
Kom al aardig in de buurt van mijn doel.
Ik zal als hij klaar is hem hier plaatsen.

Groet HWV
 
Beste Rudi,

Ik heb de vraag weer open gezet ivm ik er toch niet helemaal mee uit komt.
Het bestand met namen heb ik in een ander excel sheet staan.
ZNP afnemer1 bewerkt.xls en tabblad Opslag.
Ik heb al geprobeerd de code aan te passen maar onder resultaat.
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
    If Target.Column = 4 Then
        For x = 2 To 4
            Target.Offset(x, 0).Value = WorksheetFunction.VLookup(Target.Value, [ZNP artikelbestand.xls".Sheets"Opslag"!A2:BL3000], x, False)
        Next
   End If
End Sub

Dan heb ik in die excel sheet het volgende staan:

Debnr, in kolom A
Naam kolom C
Adres kolom E
Postcode kolom F
Woonplaats kolom G
Telefoonnummer kolom J

Is deze code aan te passen zodat ik de kolomen kan defineren.

Ik hoop dat je mij hiermee kan helpen.
Alvast bedankt voor de genoen moeite.

HWV
 
Probeer onderstaande eens uit. Denk er wel aan dat het bronbestand geopend moet zijn.

Code:
Sub Worksheet_Change(ByVal Target As Range)
Dim wsFrom As Variant
Set wsFrom = Workbooks("ZNP afnemer1 bewerkt.xls").Sheets("Opslag").Range("A2:BL3000")
If Target.Column = 4 Then
Application.EnableEvents = False
    Target.Offset(2, 0).Value = Application.VLookup(Target.Value, wsFrom, 3, 0)
    Target.Offset(3, 0).Value = Application.VLookup(Target.Value, wsFrom, 5, 0)
    Target.Offset(4, 0).Value = Application.VLookup(Target.Value, wsFrom, 6, 0)
    Target.Offset(5, 0).Value = Application.VLookup(Target.Value, wsFrom, 7, 0)
    Target.Offset(6, 0).Value = Application.VLookup(Target.Value, wsFrom, 10, 0)
   End If
Application.EnableEvents = True
End Sub

Mvg

Rudi
 
Opgelost

Rudi,

Bedankt voor je snelle reactie.
Ik heb er een hele kleine aanpassing in gemaakt zodat postcode woonplaats naast elkaar komen te staan.
Werkt als een trein, bedankt

Groet HWV
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan