Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 7 van 7

Onderwerp: Zoeken in hetzelfde werkblad en gegeven kopiëren (vba)

  1. #1
    Vraag is niet opgelost

    Zoeken in hetzelfde werkblad en gegeven kopiëren (vba)

    Beste forumleden,

    Ik heb een excelbestand waar ik, in de actieve regel, automatisch wil zoeken op omschrijving (kolom D) en de gevonden uitkomst (kolom L), vanuit hetzelfde werkblad, wil kopiëren in de actieve regel in kolom AD. Vervolgens is het de bedoeling wanneer het systeem niets gevonden heeft dit gegeven handmatig gevuld kan worden.

    In het voorbeeld bestand heb ik een opzetje gemaakt maar deze geeft direct een fout omdat deze kolom 4 (D) niet herkent.

    Uitleg:
    In kolom D in regel 13 is een auto (Auto A) aangekocht voor €500. Dezelfde auto (met exact dezelfde omschrijving) is verkocht voor € 1.000, deze mutatie staat in regel 14.
    Nu wil ik het inkoopbedrag van €500 vanuit regel 13 kopiëren naar kolom AD van regel 14 (de actieve regel) waar de verkoop van de auto staat. Het is de bedoeling dat dit automatisch gaat op moment dat ik in kolom K het verkoopbedrag heb ingebracht en dat de omschrijving identiek is.

    Alvast heel hartelijk dank.

    Robert
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Maar eens rustig kijken welke waarde target krijgt en waar je op wil zoeken? De . voor columns(4) hoort er ook niet.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  3. #3
    Inderdaad de punt hoort er niet en heb ik (Target.Offset(, 4).Resize(, 1).Value gewijzigd in: Range("AD" & Target.Row).Value). Alleen vindt het systeem nu niet de omschrijving. Het probleem zit in het feit dat ik de code aanroep wanneer ik in kolom 11 (K) sta en de code ervan uit gaat dat ik deze aanroep vanuit kolom 4 (D). Nu heb ik geprobeerd om dit te wijzigen zodat deze vanuit kolom 11 (K) de code aanroept, echter gaat hier iets niet goed waardoor het systeem kolom 4 niet zoekt. Wat doe ik fout...

  4. #4
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    je roept de code aan ongeacht in welke cel je staat. Waarom zet je de gegevens per auto niet op 1 rij. Gaat je straks alleen maar voordelen opleveren.

    Maak gebruik van de debugmogelijkheden in de VB-Editor
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      Dim r As Range
      If Target.Column = 11 Then
        Set r = Columns(4).Find(Target.Offset(, -7).Value, , xlValues, xlWhole)
      End If
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  5. #5
    Bedankt voor jouw antwoord, ik kom nu in de buurt.

    Ik heb de code aangepast naar:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    ActiveSheet.Unprotect
    If Target.Column = 11 Then
        Dim r As Range
        Set r = Columns(4).Find(Target.Offset(, -7).Value, , xlValues, xlWhole)
        If Not r Is Nothing Then
            Range("AD" & Target.Row).Value = r.Offset(, 8).Resize(, 1).Value
        Else
            Range("AD" & Target.Row) = InputBox("Het inkoopbedrag van dit artikel is niet gevonden, vul hier het inkoopbedrag in van het verkochte artikel!")
        End If
    End If
    Application.EnableEvents = True
    End Sub
    Het gaat nu goed wanneer het systeem het identieke voertuig in kolom D vindt, alleen wanneer hij het voertuig niet vindt, werkt het nu niet. Want dan moet het systeem vragen naar de inkoopprijs oftewel de "else" functie.

  6. #6
    De debugmogelijkheden in de VB-Editor ken ik helaas niet en zou hier graag meer over willen weten.

    Wat bedoel je overigens met de gegevens per auto op één rij zetten?

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Probeer Google eens.

    1 rij lijkt mij 1 rij daar is toch niet zoveel moeilijks aan.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren