Gå til innhold

[Løst] Excel 2007 VBA Sette en variablen i Makro1 og bruker Variablen i Makro2


Anbefalte innlegg

Hei.

 

Jeg lurer på om det går ann og sette en Variabel i en makro, for så og bruke variabelen i enn annen makro?

 

Makro1
Dim x as integer
x = 2
run "makro2"
________________
Makro2
masgbox x

 

Hilsen

 

Torbjørn

Lenke til kommentar
Videoannonse
Annonse

Det er to måter å gjøre dette på. Den ene gir variabelen et større "scope", som vi har snakket om før:

 

Option Explicit 'Øverst i modulen

Dim x As Long

Sub Makro1()

x = 2

Call Makro2

End Sub

Sub Makro2()

MsgBox x

End Sub

 

Den andre måten er mye mer overrsiktelig og presis, den sender variabler mellom makroene. Gjør det heller sånn hvis du ikke trenger x mer enn 2-3 steder:

 

Sub Makro1()

Dim x As Long

x = 3

Call Makro2(x)

End Sub

Sub Makro2(x As Long)

MsgBox x

End Sub

 

Edit: PS altså Call og ikke Run :)

HTH. Beste hilsen Harald

Endret av Harald Staff
Lenke til kommentar

Harald.

 

Jeg får det ikke til og fungere

 

Et lite utklipp av koden

Sub Makro2()

Dim k1_Tot1 As Integer
Dim k1_Tot2 As Integer

'Konsulent 1
Range("X3").Select
For i = 1 To K1
   ActiveCell.Offset(0, 1).Select
   ActiveCell.FormulaR1C1 = _
       "=IF(ISERROR(VLOOKUP(RC[-1],'Ark2'!R2C2:R300C10,2,)),""0"",VLOOKUP(RC[-1],'Ark2'!R2C2:R300C10,2,))"
   ActiveCell.Offset(0, 1).Select
   ActiveCell.FormulaR1C1 = _
       "=IF(ISERROR(RC[-1]/" & xtotal & "),""0"",RC[-1]/" & xtotal & ")"
       ActiveCell.Offset(0, -2).Select
       ActiveCell.Offset(1, 0).Select
Next i
   ActiveCell.Offset(-1, 0).Select
   ActiveCell.Offset(0, 1).Select
       ActiveCell.FormulaR1C1 = "=SUM(R3C:R[-1]C)"
       k1_Tot1 = ActiveCell.Value
   ActiveCell.Offset(0, 1).Select
   ActiveCell.FormulaR1C1 = _
       "=IF(ISERROR(RC[-1]/" & xtotal & "),""0"",RC[-1]/" & xtotal & ")"
       k1_Tot2 = ActiveCell.Value

call Makro3(k1_Tot1, _
           k1_Tot2,)

End Sub

Sub Makro3(k1_Tot1 as Integer, _
          k1_Tot2 as Integer,)

compile error

expected identifier

 

Hilsen

 

Torbjørn

Endret av Bigelk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...