I would agree with what Darell and Ola have written.
First you need to decide what you are automating, if it is only web based applications, then the best option in the market is Selenium. There are methods/processes you can use to do this, called frameworks, like cucumber, gauge, etc. which can provide the structure and a BDD type of readable language for the other users like the BA and Dev.
If you have some desktop based applications, then better to go with tools like Tricentis Tosca, Microfocus UFT (HP QTP), TestComplete, etc.
Both these approaches do require that you have some basic language understanding. With Selenium, you get a lot of flexibility in using the language of choice. I would say that go with something which your team is working with (like mentioned above, use Ruby, Python, Java, C#, etc.), depending on the comfort level for yourself and your team also, so that maintainability is not an issue later. That said, if it is a dedicated QA team, then decide among the team as to the comfort level of the majority and then work on that language.
Automation with tools like Tricentis Tosca (C#) or Microfocus UFT (VB Script), also requires a level of language grasp, to create complex structures which are common in web applications. Selenium also requires that you write the code to recognize objects and control them.
To summarize, I would say, it is best to learn a language for Automation to be a success and also to provide something which is maintainable. You can go to sites like stackoverflow.com to get snippets of the code that you can put in your test automation, but it would create an un-maintainable piece of work, which you yourself would not be proud of or be able to maintain for long.
Sites like Pluralsight and eDX are good starting points. And there is a wealth of information available on the ministryoftesting.com itself.