با سلام
1- Option explicit کارش چیه؟
هدف از قرار گرفتن این جمله در بالای هر ماژول، الزام برنامه نویس به تعریف دقیق تمام متغیرها هست
برای اینکه در تمام ماژول هایی که ایجاد میکنید این جمله در اولین خط قرار بگیرند:
Tools>Option>Editor
تیک گزینه Require Variable Declaration را بزنید.

2- set در خط پتجم که نوشتید Set a =... کارش چیه و اگر نباشه چه اتفاقی میافته؟
Set برای مقدار دهی به متغیرهای شئ هست، با توجه به اینکه متغیر a در اینجا از نوع Range تعریف شده، برای نسبت دادن به اون باید از این کلمه استفاده کنیم.

3- چجوری سر ستون لیست باکس رو بهش میتونیم عنوان بدیم؟
برای اینکه مشخص کنید یک لیست باکس یا کمبو باکس دارای عنوان هست از خصوصیت ColumnHeads استفاده می شود که در صورت اینکه مقدار آن True باشد پس از اینکه شما در برنامه RowSource را مشخص کردین، اکسل به صورت خودکار سلول بالا( در صورت داشتن چندین ستون، سلول های بالای ستون های انتخاب شده به عنوان RowSource) را عنوان هر ستون در لیست باکس تعیین می کند