Perhaps someone with more experience with Construct 2 could chime in and tell me if there is a better way, but here's how I would do what you are describing ...
I'd create one sprite and call it "Cards", and load one-and-only-one sprite sheet containing the entire deck (including any repeated cards). Then in the the Layout, I'd copy and paste the number of cards I plan on displaying at any given time (ie 5 cards for poker.) However, I'd only have one sprite in my objects, not 52.
Then I would add an "Array" to the layout and call it "DeckOfCards". The array would have one index for each of the frames in the one sprite's sprite sheet. For example, an array of 52 numbers with values of 0-51. At first the cards would be in order, meaning the index 0 would contain 0 referring to frame 0.
Next in the event sheet, I'd add a global number that I could call "temp" and then use it to help shuffle or sort the DeckOfCards Array. After sorting, I'd set the frames of the copies of the sprite "Cards" using their IID's or UID's.
To keep track of dealt cards, I might have a second global number that tracked the index of the current top-of-deck.
So for all the card manipulation, I'd use numbers referring to frames in the one-and-only-one sprite. Numbers are easy to manipulate and swap in Construct 2, so I think this would cause less headaches. I think that would fit the Construct 2 paradigm well, and be easier to handle than 52 (or whatever the deck size) of unique sprites would be.
Hope that helps.