Making it not freeze would be outside the scope of a free forum, but the primary reason that it's so slow is that you're automating Internet Explorer. If you skip that step then it becomes much faster, you can use something like the below to retrieve the price from a ticker:
To reduce your code complexity, I'd have a VLookup in your summary table that brings in the actual ticker, this removes the lookup step and you only have to update the current row.
If you look at the above code, you'll see that it requires 2 calls, one to get the internal ID of the ticker and then another to the API service with the ID to get the price. You could halve the number of requests (and therefore significantly improve performance) by saving this internal ID in your tickers table, you'd then skip straight to this step:
Bookmarks