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

VBA: Waarden vinden in ander tabblad

Status
Niet open voor verdere reacties.

robert123321

Gebruiker
Lid geworden
5 okt 2007
Berichten
46
Hallo,

Ik gebruik een macro om waarden die ingevuld zijn op het 1e tabblad op te zoeken op het 2e tabblad. Vervolgens zoekt de macro de bijhorende gegevens en vult deze uit in het eerste tabblad. Dit werkt op zich prima, zolang er in het 2e tabblad geen dubbele waarden staan.
Dit is een probleem omdat er wel dubbel waarden kunnen voorkomen.
Wat ik graag wil is dat de macro alleen in kolom G zoekt van het 2e tabblad ipv op het gehele tabblad.

Dit is de code die ik gebruikt om te zoeken (in blauw de zoekfunctie)
Code:
Dim swaarde1 As String
Dim swaarde2 As String
Dim swaarde3 As String
Dim swaarde4 As String
Dim swaarde5 As String
Dim swaarde6 As String
Dim Naam As String
inteller = 0

Application.ScreenUpdating = False

showInputBox:

    Naam = InputBox("Vul hier je voornaam in")
        
        If StrPtr(Naam) = 0 Then
            MsgBox "Opdracht geannuleerd"
            Exit Sub
        Else
            If Naam = "" Then
            MsgBox "U heeft geen naam ingevoerd!"
            GoTo showInputBox
            End If
        End If

Sheets("te bestellen").Select
Range("I2").Select

    Do While ActiveCell.Offset(0, 0).Value <> ""

        If ActiveCell.Offset(0, -6).Value = "" Then
           
        On Error Resume Next
                    
            [COLOR="Blue"]Lookfor = ActiveCell.Value
                Sheets("standaardartikelen").Activate
                Cells.Find(What:=lookfor, After:=ActiveCell, LookIn:=xlValues, _
                LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False).Select[/COLOR]
                 
        swaarde1 = ActiveCell.Offset(0, -6).Value
        swaarde2 = ActiveCell.Offset(0, -5).Value
        swaarde3 = ActiveCell.Offset(0, -4).Value
        swaarde4 = ActiveCell.Offset(0, -3).Value
        swaarde5 = ActiveCell.Offset(0, -1).Value
        swaarde6 = ActiveCell.Offset(0, 1).Value
        
        Sheets("te bestellen").Select
        ActiveCell.Select
        
        ActiveCell.Offset(inteller, -6).Value = swaarde1
        ActiveCell.Offset(inteller, -5).Value = swaarde2
        ActiveCell.Offset(inteller, -4).Value = swaarde3
        ActiveCell.Offset(inteller, -3).Value = swaarde4
        ActiveCell.Offset(inteller, -1).Value = swaarde5
        ActiveCell.Offset(inteller, 1).Value = swaarde6
        ActiveCell.Offset(intelle, -7).Value = Naam
        ActiveCell.Offset(intelle, -8).Value = Date
                      
        End If

    ActiveCell.Offset(1, 0).Select
           
Loop
    
    Sheets("te bestellen").Select

End Sub

Robert
 
Gebruik Columns("G").Find in plaats van Cells.Find....

Groet, Leo
 
Dit kon veel korter zonder telkens van blad naar blad te springen
Zie bijlage
 

Bijlagen

  • aanvullen.xls
    23 KB · Weergaven: 145
Het werkt!

Dit kon veel korter zonder telkens van blad naar blad te springen

Ik heb het geprobeerd en met een kleine aanpassing werkt het zelfs beter als voorheen. :thumb:
Bedankt!
Ben nog een beetje een beginner op het gebied van VB en denk soms wat te moeilijk, wat reasulteerd in lange lappen tekst. Maar oefening baart kunst!
 
:thumb: Zet je de vraag dan nog even op opgelost (rechts onderaan de pagina)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan