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

VB script "vergelijken"

Status
Niet open voor verdere reacties.

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
712
Kan iemand mij helpen met VB script.

in bijgaand test voorbeeld wil ik graag de rode lijnen in een nieuw tabblad "resultaat"
voorwaarden
datum in kolom A = cel M1
en Kolom I = leeg
en kolom G <> kolom I

heb in rood aangeduid welke er dan overblijven

alvast bedankt
Bekijk bijlage vergelijken.xlsx
 
Dat er bij van Rooijen behoefte is aan een VBA expert is al lang duidelijk..

Maar jullie hebben nog 3 dagen voor een AVG expert, dit is niet de eerste keer in jouw bestanden..:confused:
 
Laatst bewerkt:
SNB, er is budget voor 1 dag te programmeren, indien geinteresseerden, stuur dan berichtje,
ik gebruik jullie VB scripts als start basis en daar klus ik op verder :)
groeten
 
Moensk, probeer deze eens:

Code:
Sub SjonR()

    For Each cl In Range("A2:A33")
        If cl.Value = [M1] Then
            If cl.Offset(, 8).Value = "" Or cl.Offset(, 8).Value <> cl.Offset(, 6).Value Then
                With Sheets("resultaat")
                    lr = .Range("A" & Rows.Count).End(xlUp).Row + 1
                    .Cells(lr, 1).Resize(, 10).Value = cl.Resize(, 10).Value
                End With
            End If
        End If
    Next
End Sub
 
Laatst bewerkt:
Of een voorbeeld met AdvancedFilter
 

Bijlagen

  • vergelijken.xlsb
    20,5 KB · Weergaven: 35
Laatst bewerkt:
Er zal wel 'Of' i.p.v. 'En' worden bedoelt met "en Kolom I = leeg"; anders zou regel 8 er niet tussen horen.


Code:
Sub hsv()
Dim sv
sv = Filter([transpose((info!a2:a1000>0)*(info!a2:a1000=info!m1)*(info!g2:g1000<>info!i2:i1000)*(info!g2:g1000<>"")*row(1:999))], 0, 0)
 Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(sv) + 1, 10) = Application.Transpose(Application.Index([info!a2:j1000], sv, [row(1:10)]))
End Sub
 
allen bedankt voor reactie
jack nouws zeer handig advancedfilter !
 
Jack,

In u script staat "AdvancedFilter 2" hoe kan ik dit aanpassen zodat hij verwijst naar een specifieke sheet bv "Materiaal"

HTML:
Sub Mtest()
  With Sheets("info")
    .Range("Tabel1[#All]").AdvancedFilter 2, .Range("L1:L2"), Blad2.Range("A1:J1")
  End With
End Sub
 
AdvancedFilter 3?

Of gebruik even de helpfunctie.
Function AdvancedFilter(Action As XlFilterAction, [CriteriaRange], [CopyToRange], [Unique])
 
VenA
"3" werkt niet, nu als volgt opgelost
HTML:
Sub selectie()
    Sheets("info").Range("Tabel1[#All]").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("info").Range("L1:L2"), CopyToRange:=Sheets("resultaat").Range("A1"), _
        Unique:=False
End Sub
 
Da's mooi. Als je nu ook nog begrijpt waarom 3 niet werkt dan is het helemaal mooi. Nog wel even bijna helemaal rechtsboven de vraag op opgelost zetten.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan