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

wisselende range

Status
Niet open voor verdere reacties.
Het is niet voor de hand liggend gegevens te verwijderen. Filteren wat je nodig hebt is de aangewezen weg:

Code:
Sub M_snb()
 With Sheets("data mdw").Cells(1).CurrentRegion
    .AutoFilter 6, "<>K", 1, "<>B"
    .Offset(1).Copy Sheets("data kb").Cells(1)
     Sheets("data kb").Cells(1).CurrentRegion.RemoveDuplicates Array(9, 14), 1
 End With
End Sub
 
Goedemiddag,

Ik gebruik de code van HSV en die werkt prima. Echter wil ik deze code ook nog voor een andere toepassing gebruiken waar een deel niet gebruikt wordt.

Echter dan komt de uiteindelijke data niet op het gewenste tabblad data MdW.

Wat doe ik verkeerd?

Code:
Sub hsv()
 With Sheets("data KB").Cells(1).CurrentRegion
    .AutoFilter 6, "K", 2, "B"
    .Parent.AutoFilter.Range.Offset(1).SpecialCells(12).EntireRow.Delete
    .AutoFilter
    .Columns(20).Insert
    .Cells(1, 20) = "Gem Aant"
    .Range("t2:t" & .Cells(Rows.Count, 19).End(xlUp).Row) = "=RC[-2]-RC[-1]"
    .Cells(1, 36) = "Aantal"
    .Range("aj2:aj" & .Cells(Rows.Count, 1).End(xlUp).Row) = "=N(SUMPRODUCT((R2C14:RC[-22]=RC[-22])*(R2C31:RC[-5]=RC[-5]))<2)"
    .Range("aj2:aj" & .Cells(Rows.Count, 1).End(xlUp).Row).Value = .Range("aj2:aj" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
    .AutoFilter 29, "KU"
    .Copy Sheets("data MdW").Cells(1)
    .AutoFilter
 End With
End Sub
 
Hoi,

Upload een voorbeeld-bestand waarin dit zich voordoet.
 
Goedemorgen Harry,

In de bijlage een voorbeeld. Hoop dat dat voldoende is.

Groet, Dennis
 

Bijlagen

  • Voorbeeld KU.xlsx
    10,8 KB · Weergaven: 38
Goedemorgen Dennis,

De gegevens staan in het verkeerde blad zo te zien.
Code:
Sub hsv()
 With Sheets("data KB").Cells(1).CurrentRegion
    .AutoFilter 6, "K", 2, "B"
    .Parent.AutoFilter.Range.Offset(1).SpecialCells(12).EntireRow.Delete
    .AutoFilter
    .Columns(20).Insert
    .Cells(1, 20) = "Gem Aant"
    .Range("t2:t" & .Cells(Rows.Count, 19).End(xlUp).Row) = "=RC[-2]-RC[-1]"
    .Cells(1, 36) = "Aantal"
    .Range("aj2:aj" & .Cells(Rows.Count, 1).End(xlUp).Row) = [COLOR=#ff0000]Evaluate([/COLOR]"=N(SUMPRODUCT((R2C14:RC[-22]=RC[-22])*(R2C31:RC[-5]=RC[-5]))<2)"[COLOR=#ff0000])[/COLOR]
    .AutoFilter 29, "KU"
    .Copy Sheets("data MdW").Cells(1)
    .AutoFilter
 End With
End Sub
 
Goedemorgen Harry,

Code zojuist gebruikt maar geeft niet gewenste resultaat. De uitkomst voor formule somproduct komt op tabblad data KB i.p.v. tabblad data MdW. Daarnaast komt de melding #WAARDE!

Ik hoop dat je er nog een keer naar wil kijken.

Dennis
 
Goedemorgen Dennis,

Zoals ik al in mijn vorig schrijven aangaf, staan In het laatste bestand de gegevens in het verkeerde blad.
Kijk daar eerst eens naar voordat ik onnodige acties onderneem.
 
Goedemorgen Harry,

Ik wil je inderdaad niet onnodig aan de slag laten gaan. Ik heb zojuist de gegevens in het juiste tabblad geplaatst namelijk data KB maar desondanks krijg ik zelfde melding. Ik heb een VB een geanonimiseerd van het resultaat toegevoegd.
 

Bijlagen

  • VB HSV.xlsx
    170,4 KB · Weergaven: 87
Ik zie nu pas dat je de codes hebt verdraait.
In eerste instantie was het:
Code:
With [COLOR=#FF0000]Sheets("data mdw").[/COLOR]Cells(1).CurrentRegion
    .AutoFilter 6, "K", 2, "B"

Nu is het?
Code:
With [COLOR=#FF0000]Sheets("data KB").[/COLOR]Cells(1).CurrentRegion
    .AutoFilter 6, "K", 2, "B"

Helaas begrijp ik niets meer van het verhaal.
Ik wil niet vervelend doen, maar plaats een bestand met de code erin en geef dan eens aan wat er niet goed is.
 
Beste Harry,

Allereerst Fijne Kerst toegewenst. Excuses dat ik verwarring heb gebracht want had inderdaad de codes verdraait maar dit nu aangepast en vervolgens opnieuw getest. Het werkt nu prima echter krijg ik bij de uitkomst van de formule nog steeds de melding #WAARDE!.

Ik heb ook een test gedaan zonder de Evaluate code en de eerder gebruikte code gebruikt
Code:
Range("aj2:aj" & .Cells(Rows.Count, 1).End(xlUp).Row) = "=N(SUMPRODUCT((R2C14:RC[-22]=RC[-22])*(R2C31:RC[-5]=RC[-5]))<2)"

Dat werkt prima.
 
Plaats het goede bestand eens Dennis.
 
Harry ik heb niet goed gekeken en heb het ook nog eens verkeerd uitgelegd :(. Ontzettend dom.

Ik durf niet eens meer te vragen of je nogmaals wil kijken.

Er is maar een tabblad noodzakelijk waarop het uiteindelijke resultaat moet komen. Dat is tabblad data MdW. Tabblad data KB is in dit geval niet noodzakelijk.

Wat niet lukt is alleen maar de data van autofilter kolom 29 "KU" overhouden en bij gebruik van evaluate komt de melding #WAARDE!

Ik heb een voorbeeld bestand bijgesloten.
 

Bijlagen

  • VB HSV.xlsx
    152,2 KB · Weergaven: 205
Test het maar een weer Dennis.
Code:
Sub hsv_zoveel_grapje()
If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
  With Range("aj2:aj" & Cells(Rows.Count, 1).End(xlUp).Row)
   .FormulaR1C1 = "=N(SUMPRODUCT((R2C14:RC[-22]=RC[-22])*(R2C31:RC[-5]=RC[-5]))<2)"
   .Value = .Value
  End With
Cells(1).CurrentRegion.AutoFilter 29, "KU"
End Sub
 
Harry,

Deze werkt helemaal prima.

Dank voor je medewerking en nogmaals excuses voor mijn dwaalspoor.
 
Kan gebeuren Dennis,

Maakt niet uit, graag gedaan en veel plezier ermee.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan