Avatar billede PGFfyn Mester
13. juni 2014 - 11:09 Der er 8 kommentarer

VBA Excel

Denne macro køre3r MsgBox OK, men kører ikke Macro i Call Retur - kan nogen se fejlen?
Sub beregn()
'
' beregn Macro

Dim vMyVal

vMyVal = Range("k239").Value

If vMyVal <> 7 Then
  MsgBox "Der mangler inddata - check en ekstra gang."
  Call Retur
  ElseIf Range("i19").Value > Range("b232").Value Then
  MsgBox "Samlede afdrag er større end lån - ret afdrag i Drop Down box"
  Call Retur
  End If
    Range("A53").Select
    Selection.ClearContents
    Application.Calculation = xlAutomatic
    Range("k578").Select
    Range("k585").Select
End Sub
Avatar billede finb Ekspert
13. juni 2014 - 14:51 #1
Hvordan har du defineret "Retur" ? global ? lokal ?
Avatar billede PGFfyn Mester
13. juni 2014 - 16:25 #2
Der fik du mig - ved det ikke, det min allerførste tur i VBA.
Men den står til All Open Workbooks.
Avatar billede kabbak Professor
14. juni 2014 - 07:57 #3
Hvis Stop aktiveres, er makroen "Retur" kørt.
Hvis den er det er det snarer makroen "Retur", vi skal kikke påom der er fejl i den.

Sub beregn()
'
' beregn Macro

If Range("k239") <> 7 Then
  MsgBox "Der mangler inddata - check en ekstra gang."
  Call Retur
  Stop ' når stop nås, stopper afviklingen af makroen, sæt ' foran, hvis den ikke skal bruges
  ElseIf Range("i19").Value > Range("b232").Value Then
  MsgBox "Samlede afdrag er større end lån - ret afdrag i Drop Down box"
  Call Retur
  Stop ' når stop nås, stopper afviklingen af makroen, sæt ' foran, hvis den ikke skal bruges
  End If
    Range("A53").ClearContents
    Application.Calculation = xlAutomatic
    Range("k585").Select
End Sub
Avatar billede PGFfyn Mester
14. juni 2014 - 10:27 #4
1000 tak - det virker., men hvordan får point af mig?
Avatar billede kabbak Professor
14. juni 2014 - 14:37 #5
Hvad virker, koden, køres makroen retur ??
Avatar billede PGFfyn Mester
14. juni 2014 - 16:58 #6
Hej.


Det var stop der løste problemet, havde overset at en Call ikke slutter i den kaldte macro - og det selv om jeg har arbejdet meget med macro i Lotus 123.

VH

Hvordan med points?
Avatar billede kabbak Professor
14. juni 2014 - 17:10 #7
Så skal du ikke bruge Stop, men Exit Sub

Sub beregn()
'
' beregn Macro

If Range("k239") <> 7 Then
  MsgBox "Der mangler inddata - check en ekstra gang."
  Call Retur
    Exit Sub
  ElseIf Range("i19").Value > Range("b232").Value Then
  MsgBox "Samlede afdrag er større end lån - ret afdrag i Drop Down box"
  Call Retur
  Exit Sub
  End If
  ' resten herunder udføres kun hvis de 2 If ovenover ikke trikker
    Range("A53").ClearContents
    Application.Calculation = xlAutomatic
    Range("k585").Select
End Sub
Avatar billede PGFfyn Mester
14. juni 2014 - 19:35 #8
Yes, havde fundet statement.

VH
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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