Hi,
May be you include the header row in the reference ?
I tested without error, it should work ..
Regards,
Manu/
"cimbom" <(E-Mail Removed)> a écrit dans le message de news:
(E-Mail Removed)...
On May 31, 7:14 pm, "tissot.emmanuel" <tissot.emman...@free.fr> wrote:
> Hi,
>
> Try this way:
>
> Sub Solve()
> Dim xCell As Range, xRange As Range, a As Long
> Set xRange = Range("I3:I300")'Change reference if necessary
> For Each xCell In xRange
> With xCell
> a = .Offset(0, 1).Value
> If a < 0 Then .Value = .Value - a
> End With
> Next
> End Sub
>
> Best regards from France,
>
> Manu/
>
> "cimbom" <seroz...@yahoo.com> a écrit dans le message de news:
> 1180652591.647723.15...@p47g2000hsd.googlegroups.com...
>
>
>
> > Hi all,
> > The macro below is for a basic calculation as shown:
> > G H I J
> > Inventory Orders Safety Production
> > 45 25 10 -10 (H3+I3-G3)
>
> > If the Production J3 is negative, change the safety (I3) to a number
> > so that Production will be 0. In this case, Safety should be 20 in
> > order for Production to be 0.
> > The Macro below works perfectly, but it only changes this specific
> > cells (I3 and J3). I have 300 rows. How can I change this Macro below
> > so that when I run it, it affects 300 rows instead of just 1?
> > Thank you
>
> > Sub Solve()
>
> > 'J3=production cell
> > a = Range("J3").Value
>
> > 'I3=safety cell
> > b = Range("I3").Value
>
> > If a < 0 Then
>
> > Range("I3").Value = b + a * -1
> > End If
>
> > End Sub- Hide quoted text -
>
> - Show quoted text -
Hi Manu, thanks for your reply. When I run the Macro you sent me it
says Run-Time error "13" Type Mismatch and when I debug it, it
highlights a = .Offset(0, 1).Value. How can I correct it? Thanks
again.