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

vba code uitbereiden zodat de voorraad wordt aangepast kijkt nu alleen naar e2

Status
Niet open voor verdere reacties.

john11

Gebruiker
Lid geworden
18 jan 2010
Berichten
6
Sub voorraad()
On Error Resume Next
With Worksheets("VOORRAAD ").Columns(1).Find([A2].Value, , xlValues, xlWhole)
.Offset(, 2).Value = .Offset(, 2).Value + [C2]
End With

End Sub

kan de macro zo worden aangepast zodat hij kijkt naar A2 tot A3 zodat in 1 keer de voorraad wordt aangepast
krijg dit niet voor elkaar
john11
 

Bijlagen

Laatst bewerkt:
Post eens een voorbeeldbestandje met fictieve gegevens dat je situatie weergeeft, zodat we iets hebben om mee te werken.
Code:
Sub voorraad()
On Error Resume Next
For i = 2 To 7
With Worksheets("VOORRAAD ").Columns(1).Find(Range("E" & i).Value, , xlValues, xlWhole)
.Offset(, 2).Value = .Offset(, 2).Value + Range("G" & i)
End With
Next
End Sub
 
Laatst bewerkt:
hier is een voorbeeld bestandje
ik zou graag dat de macro van meerdere cellen de voorraad aan past met deze macro doet hij dat maar van 1 cel
john
 

Bijlagen

John , misschien iets zoals dit ?
Code:
Sub tst()
On Error Resume Next
    With Worksheets("VOORRAAD").Columns(1).Find([A2].Value, , xlValues, xlWhole)
        .Offset(, 2).Value = .Offset(, 2).Value + [C2]
        .Offset(1, 2).Value = .Offset(1, 2).Value + [C4]
        .Offset(2, 2).Value = .Offset(2, 2).Value + [C6]
    End With
    [G2].Value = 0
    Application.Goto [E2]
End Sub
 
Code:
Sub voorraad()
On Error Resume Next
For i = 2 To 6 Step 2
With Worksheets("VOORRAAD").Columns(1).Find(Sheets("VOORRAAD aanpassen").Range("A" & i), , xlValues, xlWhole)
    .Offset(, 2) = .Offset(, 2) + Sheets("VOORRAAD aanpassen").Range("C" & i)
End With
Next
[G2] = 0
Application.Goto [E2]
End Sub
 
Laatst bewerkt:
code aangepast voor mijn sheet en werkt maar wanneer ik bij mijn andere macros zet zodat alles tegelijketijd word uitgevoerd krijg ik de melding kande programmacode niet uitvoeren in de onderbrekings modus
heeft iemand een oplossing hiervoor.
Sub voorraadd()
On Error Resume Next
For i = 24 To 43 Step 1
With Worksheets("VOORRAAD").Columns(1).Find(Sheets("factuur").Range("d" & i), , xlValues, xlWhole)
.Offset(, 8) = .Offset(, 8) - Sheets("factuur").Range("f" & i)
End With
Next

End Sub

john
 
john , het eerste wat me opvalt sub voorraadd en het - teken Sheets("factuur")..............
 
de code werkt perfect als deze apart in een module staat maar wanneer hij bij mijn andere macros staat krijg ik dus die foutmelding
john
 
Zet dan een call in je macro die eerst zijn werk moet doen en roep dan de laatste macro aan , als ze apart wel werken en tezamen niet . macro 1 en voor de End Sub zet je call voorraadd je macro 2 .
 
ik wil graag boven mijn andere macros zetten maar dat lukt niet de volgende is Option Explicit en deze schrijft hii dan er aan vast
Sub voorraadd()
On Error Resume Next
For i = 24 To 43 Step 1
With Worksheets("VOORRAAD").Columns(1).Find(Sheets("factuur").Range("d" & i), , xlValues, xlWhole)
.Offset(, 8) = .Offset(, 8) - Sheets("factuur").Range("f" & i)
End With
Next

End Sub
Option Explicit
 
Option Explicit komt steeds als allereerste regel. De macro's moet eronder geplaatst worden
 
Indien het je niet lukt post dan alles , beide macro's of je volledige bestandje zonder geveolige info ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan