OK, so you want to expose selected data to (some) users, but you don't want them to be able to connect directly to SQL Server.
To be able to hide a password in the way you are describing, you need to have three tiers. SQL Server, the client and a middle tier. The password would be stored on the middle tier in a file (or whatever) that is not publicly exposed. A middle tier can be a full-fledged application server, it can be a web server or it can even be as primitive as Terminal Server or Citrix, where the user can do nothing else but running the application.
But if users want to run Excel on their on desktop or laptop, there is no way you can hide any password, as I said in my initial post. Or more precisely, there is no way you can store it so that users cannot find it. But you can of course use various forms of security by obscurity to make it more difficult to find. But that will not stop someone who is dead set on it.
So that is the presumption you need to work with. If you give them an Excel macro with a hard-coded user, no matter where you store the password, you should grant that hard-coded user access to the view, and nothing more beyond that.
Then again, I am not sure that I understand why you feel compelled to keep people out. Do these analysts have access on their own to the SQL Server instance? What can they access that way? Again, fi all they have permission to is this view, they can't do anything more.