プログラミングを勉強したいと相談されたら、、、。
まずは対象年齢の確認。子どもならScratchをお勧めする。コーディングで失敗しづらいし、すぐに結果が分かるのでつらくない。
大人に対しては今のところまずはProgateを勧める。単元が細かく区切ってあってレベルが設定されているので達成感を感じやすく勉強で脱落しづらいのではないかと思う。
日本語以外にも英語でもサービス提供されているので良い。
Progate | Progate - Learn to code, learn to be creative.
ただし、VBAを勉強したいという場合。これはちょっと要注意。この場合は、もう少し背景を確認して、システムを作る前にやるべきことがないか、システム作ることが適切か確認する。上記を確認したうえで筋がよさそうなら本をお勧めする。ググって同じ情報は見つかるけどある程度の知識がないと難しいと思う。ただし、VBAはエラーが分かりにくい、コード補完が全然効かないなどあって、効率よく勉強できる言語とは思えない、、、。特におすすめの本はない。
そして、ITやってるけど新しいことを勉強したいという場合はUdacityやedX。ここは無料のコースが結構あるのでよい。基本英語なのだけど、いろいろなITのコースがあるので良い。