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

Vreemde situatie bij kopiëren waarden naar ander tabblad via VBA

Status
Niet open voor verdere reacties.

JoostHuizing

Gebruiker
Lid geworden
11 aug 2011
Berichten
25
Foutmelding 13 bij match van twee waarden met twee andere waarden

Goedemorgen,

Zoals hieronder beschreven, wil ik uit een werkblad twee waarden vergelijken met twee waarden uit een ander werkblad. Daarbij krijg ik de foutmelding dat de typen niet overeenkomen. Ik zit nog steeds vast in deze vraag. Ik hoop dat iemand alsnog een oplossing kan geven.

Ik ben wat aan het speuren naar een code om twee waarden uit ene werkblad te vergelijken met twee waarden uit een ander werblad en op basis daravan een actie laten uitvoeren. Ik heb volgens mij een oplossing waarbij ik match op meerdere criteria laat zoeken. Dat heb ik nu ingesteld in tabblad Urenregistratie wanneer dubbelgeklikt wordt op een cell (in kolom F). Hij pakt de juiste waarden die opgezocht moeten worden, maar hij geeft nu een fout 13-melding, typen komen niet overeen. Ik heb alle kolommen die gebruikt worden de eigenschap standaard meegegeven, dus vermoed dat het daar niet in zit. Heeft iemand een idee waar dit in kan zitten? Of geef ik een zoekopdracht die niet goed geformuleerd is?

Wanneer de waarde in blad Urenregistratie, kolom F "R" wordt, dan in blad BPs de regel zoeken die matcht met Onderwerp en Medewerker van de actieve rij in blad Urenregistratie en de waarde uit blad Urenregistratie, kolom G kopiëren naar V, W, X, Y of Z (afhankelijk van de fase, dat onderscheid is al ingesteld). Voor een eventuele test kan je het beste de regel met onderwerp Test 25 gebruiken.

Hieronder de code en het bestand.
Code:
Private Sub Worksheet_beforedoubleclick(ByVal Target As Range, Cancel As Boolean)
With Target
    If .Column = 6 Then
        .Value = IIf(.Value = "£", "R", "£")
        If .Value = "R" Then
            If .Offset(0, -4).Value = "Bestemmingsplan" Then
                With Sheets("BPs")
                    If Target.Offset(0, -2).Value = "Voorbereiding" Then
                        .Cells(WorksheetFunction.Match(Target.Offset(0, -3) & Target.Offset(0, -1), .Columns(4) & (17), 0), 22) = Target.Offset(, 1).Value
                    ElseIf Target.Offset(0, -2).Value = "Voorontwerp" Then
                        .Cells(WorksheetFunction.Match(Target.Offset(0, -3) & Target.Offset(0, -1), .Columns(4) & (17), 0), 23) = Target.Offset(, 1).Value
                    ElseIf Target.Offset(0, -2).Value = "Ontwerp" Then
                        .Cells(WorksheetFunction.Match(Target.Offset(0, -3) & Target.Offset(0, -1), .Columns(4) & (17), 0), 24) = Target.Offset(, 1).Value
                    ElseIf Target.Offset(0, -2).Value = "Vaststelling" Then
                        .Cells(WorksheetFunction.Match(Target.Offset(0, -3) & Target.Offset(0, -1), .Columns(4) & (17), 0), 25) = Target.Offset(, 1).Value
                    ElseIf Target.Offset(0, -2).Value = "Beroep" Then
                        .Cells(WorksheetFunction.Match(Target.Offset(0, -3) & Target.Offset(0, -1), .Columns(4) & (17), 0), 26) = Target.Offset(, 1).Value
                    End If
                End With
            End If
        End If
    End If
End With
End Sub
Bekijk bijlage Matrix2.xls

Joost
 
Laatst bewerkt:
Opgelost door via VLookup de medewerker in doeltabblad te vergelijken met die in brontabblad en daarna de match obv Onderwerp.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan