14. december 2016 - 14:40
Der er
2 kommentarer og
1 løsning
VBA - parameter
Hej er der en venlig sjæl, der kan forklare mig hvad parametre i VBA excel er? Jeg forstår det simpelthen ikke.. Jeg har set videoer og læst om det men det giver ikke mening for mig..
14. december 2016 - 14:59
#2
En simple SUM formel har et område som parameter.. altså det område du vil summere. Første parametre skal være angivet = mandatory ellers virker formlen ikke, men du kan hvis du vil tilføje flere områder = optional, som så også kan blive talt med....
=SUM(A1:A10)
=SUM(A1:A10;C1:C10)
Hvis du i VBA f.eks. har to Sub's, så kan du kalde den ene fra den anden, og sende data med over via parametrene...
Prøv at leg med dette her...
Sub Dims()
Dim i As Integer
i = 250
HvadErTallet i
HvadErTallet i, 4
End Sub
Sub HvadErTallet(Byval modtagetTal as Integer, Optional Byval gangMed As Integer = 1)
Msgbox modtagetTal * gangMed
End Sub
Synes godt om
1 synes godt om dette
14. december 2016 - 17:51
#3
Det lyder som om, at du i virkeligheden mener 'Argumenter', når du selv nævner 'Optional' og 'Mandatory'.
Jeg ved godt, at der ofte sker lidt forvirring mellem de to ting: Parametre og Argumenter, men det er altså forskellige ting :-)
Anyway, et argument er en variabel, som man kan tildele makroen, når du kalder den, og srives bagvedet navnet på makroen, når man opretter makroen:
Sub VisAlder(Årstal As Long)
Her har vi valgt, at når vi kalder makroen skal vi kalde den sammen med et årstal som argument, således:
Call VisAlder (1982)
I makroen kan man så benytte variablen:
Sub VisAlser(Årstal As Long)
MsgBox "Alderen er: " & Year(Date) - Årstal
End Sub
Man kan gøre argumentet frivilligt, ved at tilføje nøgleordet 'Optional":
Sub VisAlder(Optional Årtal As Long)
If Årstal = 0 Then Årstal = InputBox("Årstal:")
MsgBox "Alderen er: " & Year(Date) - Årstal
End Sub
Og, hvis vi nu blot kalder makroen uden et årstal, vi makroen spørge efter et årstal.
Ja, så let var det faktisk :-)
Synes godt om
1 synes godt om dette