Just like any variables, you declare them where you need them. There is no one place to declare all public variables. You might have multiple classes and each one might have one or more public variables. Each one would be declared in the class it logically belongs to.
A public variable is one that can be accessed from outside the type it's declared in. Consider a machine that has some buttons on it. Each of those buttons represents a function it can perform and those functions are public because you can access them from outside the machine by pressing a button. The machine might have some other functions too but they are not public because they are not accessible from outside the machine.
I think what you're probably asking about is "global" variables, which is more of a concept than an actual feature. A global variable is, by definition, one that is accessible globally, i.e. anywhere in the project at any time. A global variable must be public by necessity, but not all public variables are global. While it is not the only option, global variables are generally declared in a module, which you can add to your project the same way you add a form or class. A variable declared public inside a module is inherently global, i.e. you can access it from anywhere in your project at any time. In some instances you might have multiple modules in a project but, at your level, you'll almost certainly only need one.
As you get more experienced you'll learn that global variables should generally be avoided and how to structure your code properly to avoid them. For now though, they will make things easier.