Avatar billede StuderendeP Juniormester
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..
Avatar billede StuderendeP Juniormester
14. december 2016 - 14:41 #1
Herunder optional og mandatory....
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
Avatar billede Dan Elgaard Ekspert
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 :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester