Hello,
First off much of my reply a) comes from experience b) taking into account your background. In some cases I'm sparse and other places elaborate more. In the end I feel my recommendation and suggestions should give you enough information to make an informed choice.
In regards to C# vs VB.NET finding assistance and code samples, there are indeed more out there documentation wise and people in C# than VB.NET along with VB.NET is not really going any place in regards to improvements.
Concerning which type of project
- WPF is a great choice although coupling this project type with C# with a VBA background will take a decent time to adjust.
- Windows Forms using .NET Framework/C# is very solid for desktop applications.
- Windows Forms using .NET Framework Core/C# is also a good choice while coming from VBA the difference between using .NET Framework and .NET Framework Core is not really going to be notice while someone who has been work with .NET to .NET Core will notice a difference.
Is one better performance wise? I'd say the first part to answer this is, it depends on how well user code is written. If the code is poorly written in any of these types of projects nothing will assist with performance which can happen when first learning.
Compelling reason for WPF
- Richer user interface than Windows Forms any flavor
- More emphasis on OOP
Downside to WPF
- Longer learning curve than Windows Forms when done correctly
Downside to .NET Core (presently)
- Windows Forms is considered in preview mode, all the bugs have not be handled
Upside to Windows Forms classic (.NET Framework 4.8 and lower)
- Proven technology
- Not missing much from .NET Core
When looking at the three for you my recommendation is Windows Forms classic, not Windows Forms .NET Core unless you have special needs for the user interface that Windows Forms is not capable of.
Go with Windows Forms classic, write the bulk of code in class projects called by code in Windows Forms. Later if you decide to roll with .NET Core it's an easier transition.