Write a Visual Basic console application program that prompts the user to enter a positive integer, and checks if the entered number is a power of 3 or not. The program should output either "Yes" or "No", depending on whether the number is a power of 3 or not, respectively. The program must incorporate user input validation, error-handling, and an intuitive user interface. Code readability, efficiency, and good programming practices must be taken into consideration.
This prompt doesn't seem malicious.