You could probably achieve this with an array and putting each value in the array as a variable in the dt.Select method as @pathrudu advised.
Client requires USD and GBP. Have the currency array set up as USD;GBP (or USD,GBP) as long as the delimiter is constant. Then split into an array with Split(yourList,";"c) <- if the delimiter is a semi-colon.
Then in a for each loop, perform the dt.Select method on the original data, and for each array of datarow output you could add to a new datatable. I haven’t played around with it but you would need to initialize the datatable first and it depends on whether you want the headers in the new, filtered datatable. You won’t be able to use the .CopyToDatatable method as this would overwrite anything already in there.
Using an array for the currencies in this way would ensure the process can run correctly whether the client has requested any number of different currencies in any combination.
To use a variable in the dt.Select method it would be something like
If in a for each loop with the currency array, if you set your ‘item’ to ‘currency’ for example:
This way you would only have to write it out once.