Hi,
I hate to say this. But, this has me stumped. I can usually find a answer. But...
That being said I was able to modify the function. It will set the "CurAdj to the correct format. This line of code shows the correct format,
Code:
With WSh2
LR = .Cells(Rows.Count, 1).End(xlUp).Row
'---
For I = 2 To LR
ValD = CurAdj(.Cells(I, 4)): ValE = CurAdj(.Cells(I, 5))
ObjDic.Item(Join(Array(.Cells(I, 1), .Cells(I, 2), .Cells(I, 3), ValD, ValE, .Cells(I, 6)), "/")) = Empty
Next I
ValD and ValE have the correct format. But, when this is (I think) translated to
"D2" and "E2" in this line of code
Code:
WkStg = "=IF(ISBLANK(A2),"""",CONCATENATE(A2,"" "",B2,"" "",C2,"" "",""Price"","" "",D2,"" "",""Freight"","" "",E2,"" "",""Duties"","" "",F2,))"
D2 and E2 does not have the correct format.
Unfortunately I'm not familiar with "Scripting.Dictionary". So this is a problem for me.
Here's the Function code that worked for me.
Code:
' This fuction obviously not mine :) is meant to make the check for giving the "V" format sensitive and it works GREAT.
Function CurAdj(WkVal As Range) As String
Dim WkF As String
WkF = WkVal.NumberFormat
CurAdj = IIf(InStr(1, WkF, "$") = 1, "$", IIf(InStr(1, WkF, "$€") = 2, "€", "")) & WkVal
End Function
Hopefully another member can help you.