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

via Macro filter instellen.

Status
Niet open voor verdere reacties.

KiMiFaN

Nieuwe gebruiker
Lid geworden
24 okt 2007
Berichten
2
Goedemiddag,

ik kom uiteraard vaak op dit forum terecht als ik iets zoek over Excel ;) Dus vandaar dat ik mijn probleem aan jullie voorleg.

Ik ben bezig met het bouwen van een automatisch waarschuwingssysteem als er iets veranderd in het excelbestand "Vraagvoorspelling"

in het excel bestand staat voor een aantal weken de vraagvoorspelling van een bedrijf ingevuld. echter laat een afdeling het na om men op de hoogte te brengen als hierin een verandering wordt gemaakt, waardoor met deze gegevens foutief gerekend wordt.

ik heb het al zover voor elkaar dat het systeem via macro's kolommen vergelijkt tussen opgeslagen kolom en nieuw ingevoerde gegevens, alleen ik wil het nu per week kunnen uitfilteren --> veranderingen dus duidelijk aangeven plus weeknummer.


De eerste code van de eerste macro is:

Sub vergelijken()
Dim i As Integer

Columns("m:o").ClearContents

For i = 5 To Range("E65536").End(xlUp).Row
If Blad1.Range("E" & i) <> Blad1.Range("F" & i) Or Blad1.Range("G" & i) <> Blad1.Range("H" & i) Or Blad1.Range("I" & i) <> Blad1.Range("J" & i) Or Blad1.Range("K" & i) <> Blad1.Range("L" & i) Then
Blad1.Range("m" & i).Value = "Forecast veranderd"

End If
Next
End Sub

De tweede code van de tweede macro is:
Sub Opzoeken()

Dim Woord As String
Dim DataBlad As Worksheet, WerkBlad As Worksheet
Dim rng As Range
Dim MaxRij As Long, Rij As Long, StartRij As Long, werkrij As Integer
Dim Flag As Boolean

Flag = True
Set DataBlad = Sheets("Forecastvergelijk")
Set WerkBlad = Sheets("Forecastfilter")

WerkBlad.Range("A3:h65536").ClearContents
werkrij = 5

Woord = Trim(WerkBlad.Range("J3").Value)
MaxRij = DataBlad.Range("B65536").End(xlUp).Row + 3

StartRij = 4
Do While Flag = True
Set rng = DataBlad.Range("F" & StartRij & ":M" & MaxRij).Find(what:=Woord, LookIn:=xlValues, lookat:=xlPart)
If rng Is Nothing Then
Flag = False
Else
Rij = rng.Row
WerkBlad.Range("A" & werkrij & ":B" & werkrij).Value = DataBlad.Range("A" & Rij & ":B" & Rij).Value
WerkBlad.Range("C" & werkrij & ":D" & werkrij).Value = DataBlad.Range("C" & Rij & ":D" & Rij).Value
WerkBlad.Range("E" & werkrij).Value = DataBlad.Range("E" & Rij).Value
WerkBlad.Range("F" & werkrij).Value = DataBlad.Range("F" & Rij).Value
WerkBlad.Range("H" & werkrij).Value = DataBlad.Range("m" & Rij).Value
werkrij = werkrij + 1
StartRij = Rij + 1
End If
Loop
Set DataBlad = Nothing
Set WerkBlad = Nothing
dit bedoel ik met de filter:
voorbeeld.jpg
 
Laatst bewerkt:
KiMiFaN,
Je zult wel gemerkt hebben tijdens jouw bezoeken aan dit forum dat he in het geheel niet gebruikelijk is om met verschillende (aan de ogen zeer doende) kleuren te werken. Wat wel wenselijk is, dat je cde tussen de daarvoor bestemd tags plaatst. Geeft een rustiger beeld maai is op de eerste plaats ook veel duidelijker te lezen en te begrijpen.:)
Wat jouw probleem betreft, kun je een heel eind komen door de gewenste handelingen met de macroreccorder op te nemen en waar gewenst aan te passen.
 
KiMiFaN,
Je zult wel gemerkt hebben tijdens jouw bezoeken aan dit forum dat he in het geheel niet gebruikelijk is om met verschillende (aan de ogen zeer doende) kleuren te werken. Wat wel wenselijk is, dat je cde tussen de daarvoor bestemd tags plaatst. Geeft een rustiger beeld maai is op de eerste plaats ook veel duidelijker te lezen en te begrijpen.:)
Wat jouw probleem betreft, kun je een heel eind komen door de gewenste handelingen met de macroreccorder op te nemen en waar gewenst aan te passen.

heb het aangepast, mijn excuses voor het ongemak.

kunt u mij misschien uitleggen hoe ik dit precies uitvoer? Bij voorbaat dank.
 
Ga naar Extra > Macro's > Nieuwe Macro opnemen. Voer de handelingen uit die je nodig hebt om de gegevens te filteren. In dit geval dus Data > Autofilter, of als je niet genoeg opties hebt om daarmee te filteren kies je voor Uitgebreid filter. Als het goed is zie je een opnamevenstertje en daarin kun je op het vierkante knopje klikken om de opname, als je klaar bent , te stoppen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan