Well, mostly a lot of reading and trial and error.
I was a .NET developer before I started working with Ranorex, so much of the underlying principles I already understood. This is another thing that you might want to start getting familiar with. Pick up an intro .NET (especially C#) book, like "C# for Dummies". The more you understand about the underlying framework of .NET, the more you will understand Ranorex. I would suggest using C# instead of VB for several reasons (some personal, I don't care for VB in any incarnation), but mainly because it is similar to Java and C/C++ in syntax and structure, where VB is not like anything else that is widely used. Also, more developers use C# than VB, not suggesting that just because more people use it that it is better, but that you will probably have more people that can help with creating and editing code.
As for RXPath, the biggest thing you need to understand is that it is essentially a directory structure of the GUI elements of the application under test. Also, Ranorex will ALWAYS (ALWAYS!!) stop searching when it finds the FIRST element (or elements if you are doing a FIND, where it gets all that match) that matches the path given, so make sure that you have the path correct. Read the documentation, "cover-to-cover", here:
http://www.ranorex.com/support/user-guide-20.html. Also, the Ranorex API is very useful for understanding the different objects that you have available to you:
http://www.ranorex.com/Documentation/Ranorex/. You don't need to read it all, just use it as a reference (this is where knowing .NET will come in handy).
Use Ranorex Spy A LOT. Use Ranorex Spy A LOT. Use Ranorex Spy A LOT! (
Hint, hint!) It will help you visualize the structure, see attributes and figure out different paths to use. If you get stuck on a path, use Spy. If you can't figure out which attribute to use, use Spy. You get the point. I find it to be the most important and under-appreciated tool in the set. Use Ranorex Spy A LOT.
In addition to learning XPath, you will want to get very familiar with Regex (Regular Expressions). I recommend this site:
http://www.regular-expressions.info/. It has tons of information about how Regex works and what all of the different expressions and syntax do. One thing to note though is that Ranorex, due to being built on .NET, uses the .NET regex syntax, while most places on the web use JavaScript regex syntax. The site above usually does a good job of differentiating between the different forms when necessary.
Finally, for XPath, you need to understand what attributes are and how they help identify the elements. Take a simple HTML tag like this: <div id="myDiv">Some Text</div>. If you want to get this element every time, regardless of the InnerText (the "Some Text" part - it's inside the tag and it's text, so InnerText), then you would use the path "//div[@id='myDiv']" or "//div[#'myDiv'] ("#" means "Unique ID" and can only be used when searching for an id attribute, and the id's value must be unique on the page). If you have an OK button for example, you could use the id, or the text (since it probably won't change), like this: "//button[@text='OK']". This will find the FIRST button under this object's Parent (in the repo) that has the text of "OK". The nice thing is that you can many times make things like OK buttons generic enough that you can create just one repo object and one module and it will work for every OK button in your application. The only problem is when you have more than one OK button on the same page, and both are visible and enabled.
The best way to learn is to create a fake test suite and just start doing stuff.