"Sane" <(E-Mail Removed)> je napisao u poruci interesnoj
grupi:f9a2f0b1-ceb8-4956-a35d-(E-Mail Removed)...
> In my account data i have amount in column h and Debit, Credit (DR/
> CR) in next column. To modify the values in column h the code is
> .......
> For Each c In Range("H2:h" & t)
> If c.Offset(0, 1) = "DR" Then
> c.Value = c
> Else
> c.Value = -c
> End If
> Next
it is not a good idea to use "c.value=-c", because it just *inverts* the
value, called [mistakenly] twice, you have reverted to original value.
better is to have *new* calculted column [f.e at offset=2], like:
If c.Offset(0, 1) = "DR" Then
c.offset(0,2).Value = c
Else
c.offset(0,2).Value = -c
End If
so your original column "h" is preserved, and multiple execution doesn't
harm
and how many rows [t] you have, and what is meaning "long execution" for
you, 5 seconds, or more?
when lacking memory, excel becomes fragmented, and sudenly execution slows
down very much. can you trace the memory usage at task-manager?
|