![]() |
A visual basic value copy BUG?? - accounting format has copy problem!!
I just got an unbelievable behavior from excel when i did the following
value copying: ----------------------------- Sub mycopy() Range("A2:B2").Value = Range("A1:B1").Value End Sub ----------------------------- I formatted cell A1 as accounting format (or currency format $) and input $0.0123 in A1. format cell B1 as general format and input 0.0123 into B1. After running the macro, you'll see the target values of A2 becomes $0.0100, B2 is 0.0123. (i'm using excel 2003) THe accounting/currency format just use the rounding automatically!!! Is this a bug? or a feature? BTW, i tried after to use ".copy" and ".PasteSpecial xlPasteValues", that works regardless. But not knowing the limit of range copy made million dollar difference in my analysis! DARN it! |
A visual basic value copy BUG?? - accounting format has copyproblem!!
|
A visual basic value copy BUG?? - accounting format has copy problem!!
This relates to Excel's automatic conversion of dates & currencies, which
gets it right for users 'most' of the time. dim cur as currency cur = 0.0123 [c4]=cur ' 0.01 [c5] = cdbl(cur) ' 0.0123 back to your issue, you'll note when you did - Range("A2:B2").Value = Range("A1:B1").Value that A2 is automatically formatted as currency, because the data type (VarType) of that element in the array is currency. You could do - Range("A2:B2").Value = Range("A1:B1").Value2 which will place the intrinsic values but won't change the existing format. Regards, Peter T wrote in message oups.com... I just got an unbelievable behavior from excel when i did the following value copying: ----------------------------- Sub mycopy() Range("A2:B2").Value = Range("A1:B1").Value End Sub ----------------------------- I formatted cell A1 as accounting format (or currency format $) and input $0.0123 in A1. format cell B1 as general format and input 0.0123 into B1. After running the macro, you'll see the target values of A2 becomes $0.0100, B2 is 0.0123. (i'm using excel 2003) THe accounting/currency format just use the rounding automatically!!! Is this a bug? or a feature? BTW, i tried after to use ".copy" and ".PasteSpecial xlPasteValues", that works regardless. But not knowing the limit of range copy made million dollar difference in my analysis! DARN it! |
A visual basic value copy BUG?? - accounting format has copy problem!!
Wow Peter~! Thanks a lot! That ".value2" works amazingly fine!!
Thanks a million for the tip. Peter T wrote: This relates to Excel's automatic conversion of dates & currencies, which gets it right for users 'most' of the time. dim cur as currency cur = 0.0123 [c4]=cur ' 0.01 [c5] = cdbl(cur) ' 0.0123 back to your issue, you'll note when you did - Range("A2:B2").Value = Range("A1:B1").Value that A2 is automatically formatted as currency, because the data type (VarType) of that element in the array is currency. You could do - Range("A2:B2").Value = Range("A1:B1").Value2 which will place the intrinsic values but won't change the existing format. Regards, Peter T wrote in message oups.com... I just got an unbelievable behavior from excel when i did the following value copying: ----------------------------- Sub mycopy() Range("A2:B2").Value = Range("A1:B1").Value End Sub ----------------------------- I formatted cell A1 as accounting format (or currency format $) and input $0.0123 in A1. format cell B1 as general format and input 0.0123 into B1. After running the macro, you'll see the target values of A2 becomes $0.0100, B2 is 0.0123. (i'm using excel 2003) THe accounting/currency format just use the rounding automatically!!! Is this a bug? or a feature? BTW, i tried after to use ".copy" and ".PasteSpecial xlPasteValues", that works regardless. But not knowing the limit of range copy made million dollar difference in my analysis! DARN it! |
All times are GMT +1. The time now is 01:45 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com