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

Macro voor het aanpassen van een status in een lijst obv input in cellen

Status
Niet open voor verdere reacties.

Roshan

Gebruiker
Lid geworden
5 jan 2018
Berichten
30
Beste dames heren,

Ik heb een vraag.

Ik heb een bestand met veel data, soort van statuslijst. bu is het zo dat ik de status van de producten die in de lijst zitten vaak moet aanpassen.

Nu zou ik daar graag een macro voor willen gebruiken. Nu heb ik deze proberen op te nemen alleen houdt de macro absolute waarden vast en is niet dynamisch.. :(

In de bijlage heb ik een (heel erg versimpeld) voorbeeld bestand toegevoegd.

Wat ik graag zou willen met de macro:

in Blad2, cel B2 vul ik de status in waarin ik wil dat de status wordt gewijzigd.
Maar alleen voor de cellen Blad1 kolom F, waarvan de cellen in kolom A de waarde hebben die ik invul in Blad2, cel B1.

dus maw, zoals nu in het voorbeeld bestand op blad2 staat zou de macro het volgende moeten doen:

Verander de status van alle nummer "1" naar "in bestelling".


Zou iemand deze macro kunnen schrijven? alvast hartelijk dank!

Mvg,

Roshan

Bekijk bijlage voorbeeldbestand.xlsx
 
zet dit onder je knop:

Code:
Private Sub CommandButton1_Click()
SR = Sheets("Blad1").Cells(1).CurrentRegion

    For i = 2 To UBound(SR)
        If SR(i, 1) = Sheets("Blad2").Cells(1, 2).Value Then
                SR(i, 6) = Sheets("Blad2").Cells(2, 2).Value
        End If
    Next i

Sheets("Blad1").Cells(1).CurrentRegion = SR

End Sub
 
In bladmodule van Blad2.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sv, i As Long
If Target.Address = "$B$1" And Target <> "" Then
 sv = Sheets("blad1").Cells(1).CurrentRegion
   For i = 1 To UBound(sv)
     If sv(i, 1) = Target Then sv(i, 6) = "in bestelling"
   Next i
 Sheets("blad1").Cells(1).CurrentRegion = sv
End If
End Sub
 
zet dit onder je knop:

Code:
Private Sub CommandButton1_Click()
SR = Sheets("Blad1").Cells(1).CurrentRegion

    For i = 2 To UBound(SR)
        If SR(i, 1) = Sheets("Blad2").Cells(1, 2).Value Then
                SR(i, 6) = Sheets("Blad2").Cells(2, 2).Value
        End If
    Next i

Sheets("Blad1").Cells(1).CurrentRegion = SR

End Sub

Hoi Sjon,

Top, precies wat ik nodig heb. Ik heb alleen nog een paar kleine aanpassingen nodig:

- de Status kolom op blad 1 staat in kolom P
- Het invulvakje nummer staat op blad 2 in cel E7
- Het invulvakje "status aanpassen naar" staat op blad 2 in cel E8.

Hoe kan ik dit aanpassen?
 
zo dan:
Code:
Private Sub CommandButton1_Click()
SR = Sheets("Blad1").Cells(1).CurrentRegion

    For i = 2 To UBound(SR)
        If SR(i, 1) = Sheets("Blad2").Cells(7, 5).Value Then
                SR(i, 16) = Sheets("Blad2").Cells(8, 5).Value
        End If
    Next i

Sheets("Blad1").Cells(1).CurrentRegion = SR

End Sub
 
zo dan:
Code:
Private Sub CommandButton1_Click()
SR = Sheets("Blad1").Cells(1).CurrentRegion

    For i = 2 To UBound(SR)
        If SR(i, 1) = Sheets("Blad2").Cells(7, 5).Value Then
                SR(i, 16) = Sheets("Blad2").Cells(8, 5).Value
        End If
    Next i

Sheets("Blad1").Cells(1).CurrentRegion = SR

End Sub


Top, het werkt!! Bedankt! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan