هنگامی که توابع خود را ایجاد می کنید، اغلب ارسال پارامترها به تابع مفید است. این پارامترها میتوانند به عنوان دادهای که میخواهید تابع بر اساس آن عمل کند یا بهعنوان تنظیماتی که برای کنترل نحوه عملکرد تابع استفاده میشود، استفاده شوند. نحوه ارسال پارامترها به توابع در ماکروهای زیر نشان داده شده است:
Sub Macro1()
Dim A As Double
A = 12.3456
MsgBox A & " " & Round(A)
End Sub
Function Round(X As Double) As Double
Round = Int(X + 0.5)
End Function
این ماکرو ساده (Macro1) یک مقدار (12.3456) را به متغیر A اختصاص می دهد. سپس در یک جعبه پیام، آن عدد و نتیجه ارسال عدد را به تابع Round نمایش می دهد. خروجی 12.3456 و 12 است. توجه کنید که پارامتر باید به تابع داخل پرانتز ارسال شود.
همچنین توجه داشته باشید که تابع از همان نام متغیری که ارسال شده است استفاده نمی کند. (متغیر A هنگام فراخوانی به تابع ارسال می شود؛ در داخل تابع به این مقدار با نام متغیر X اشاره می شود.) این به این دلیل است که VBA مقدار X (آنچه تابع نیاز دارد) را مجدداً اختصاص می دهد بنابراین با مقدار آن مطابقت دارد. A (آنچه برنامه به تابع منتقل می کند).
VBA به شما امکان می دهد چندین پارامتر را برای ارسال به یک تابع مشخص کنید. پارامترها به سادگی باید هم در اعلان تابع و هم در زمان فراخوانی تابع با کاما از هم جدا شوند. نکته مهمی که در انتقال پارامترها به توابع باید به خاطر بسپارید این است که برنامه شما باید همان تعداد پارامتری را که تابع انتظار دارد ارسال کند و پارامترها باید از انواع منطبق و با ترتیب مناسب باشند.