Meinst du mit effizient "schnell fertig werden mit dem Programmieren" oder "code läuft schnell"?
Für beides ist "mein" grundlegender Tipp: Erst mal so schreiben dass es möglichst gut verständlich und lesbar ist. Also auch so dass du wenn du nach 3 Monaten deinen Code nochmal anschaust wieder durch blickst. Das spart dir auf Dauer Zeit beim Programmieren.
Laufzeitoptimierung überlässt man zunächst dem Compiler, wobei natürlich grundlegende Dinge wie z.B. row-major oder column-major beachtet werden sollten falls sie für deinen Code relevant sind. Wenn der Code dann noch zu langsam läuft brauchst du in der Regel ein profiling-tool. Ohne sowas an Laufzeitoptimierungen zu feilen ist nicht ratsam, meistens verstecken sich die Zeitfresser woanders als es die Intuition vermuten lässt. Erst Recht nach der Optimierung durch den Compiler.
VBA-spezifisch habe ich leider nichts auf Lager.