22. september 2014 - 02:05Der er
5 kommentarer og 1 løsning
Find match med dubletter
Jeg har en makro der tjekker for ens værdier i to separate kolonner, hvor jeg bruger "for each - metoden".
Den fungerer på den måde, at der først tjekkes for korrekt dato, derefter om et beløb i kolonne F (udgangskolonne) findes i kolonne D (compareRange). Hvis beløbet findes, sættes der et kryds i cellen til højre for beløbet i kolonne F.
Altså er der tale om en egentlig afstemning af beløb.
Det fungerer fint, så længe der ikke er dubletter i udgangskolonnen. Hvis den samme værdi forekommer flere gange her, men kun én gang i compareRange, så bliver der alligevel sat et kryds til højre for de værdier der matcher.
Eksempel: Beløbet 100 forekommer 2 gange i udgangskolonnen, men kun én gang i compareRange. Makroen sætter alligevel et kryds til højre for begge beløb (100) i udgangskolonnen. Hvilket der jo ikke skal, da beløbet mangler én gang i compareRange.
Er der nogen der har et bud på hvordan jeg ændre i makroen, så den tager højde for at der kan forekomme dubletter?
Eller måske er der en helt anden metode til at tjekket for match med dubletter?
På forhånd tak
Laugesen
Koden:
Sub FindMatchTest()
Dim CompareRange1 As Variant, X As Variant, Y As Variant Dim Dato As Date
Set CompareRange1 = Application.ThisWorkbook.Sheets("Ark3").Range("D4:D23")
Dato = Sheets("Ark3").Range("A2").Value
Range("F4:F23").Select
For Each X In Selection For Each Y In CompareRange1
If Y.Value > 0 And Y.Offset(0, -1).Value = DateValue(Dato) And Y = X Then x.Offset(0, 1) = "x"
Jeg har testet ændringen i makroen, men desværre er resultatet det samme. Der bliver stadig sat et kryds til højre for alle de tal der matcher i udgangskolonnen.
Jeg har også en tilføjelse til min beskrivelse af problemet:
Hvis beløbet findes fx 2 gange, både i udgangskolonne og i compareRange, så skal der sættes et kryds til højre for begge tal i udgangskolonnen.
Jeg skal bruge makroen til afstemning af beløb i mit ark med beløb fra en bank-konto. Jeg downloader et kontoudskrift i Excel, og skal så lave en afstemning med de indtastet tal i mit ark, for at tjekke at beløbene er kommet ind på kontoen.
Det fungerer fint med den makro, men kun hvis alle beløbene i transaktionerne er forskellige. Når der er flere transaktioner med det samme beløb, så fungerer det ikke efter hensigten.
Nu bliver kun sat kryds til højre for et af beløbene, hvis der er flere med samme værdi i udgangskolonnen.
Men hvis de samme beløb findes i udgangskolonnen (fx 100 to gange), og de to beløb også findes i compareRange, så bliver der kun sat kryds til højre for det første beløb i udgangskolonnen.
I det tilfælde skal der sættes kryds ved begge beløb, da begge beløb er kommet ind på kontoen.
Nu fungerer det efter hensigten. Den sidste ændring var lige det der skulle til.
Der bliver nu korrekt sat et kryds til højre for beløbene i udgangskolonnen, også når der er flere ens transaktioner i compareRange.
Jeg har tilpasset makroen og det fungerer nu som det skal i mit ark.
Mange tak for hjælpen - eller endnu en gang mange tak for hjælpen :)
Laugesen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.