Avatar billede henrik4223 Nybegynder
18. marts 2003 - 10:41 Der er 12 kommentarer og
2 løsninger

Bekræftigele før udførsel af makro (knap)

Jeg har en knap, der ved tryk udfører en makro iexcel. Hvordan får jeg den til at lave en advarsel med text, hvor man bliver bedt om at svare nej (for ikke at køre makro) eller ja (for at køre makro)?
Avatar billede Chewie Novice
18. marts 2003 - 10:44 #1
I VBA kan du lave en userform (under indsæt)
18. marts 2003 - 10:45 #2
Her er et lille eksempel:

Public Sub Demo()
    Dim sAnswer As String
   
    sAnswer = MsgBox("Er du HELT sikker på du vil køre denne makro ?", vbExclamation + vbYesNo, "Systeminformation")
   
    If sAnswer = vbYes Then
        ' Her placeres din makro
    End If
End Sub
Avatar billede Chewie Novice
18. marts 2003 - 10:45 #3
knappen sætter du så til at loade userformen !
Avatar billede jkrons Professor
18. marts 2003 - 10:46 #4
Eller bare:
Sub etellerandet()
If MsgBox("Ønsker du at fortsætte?", vbYesNo) = vbYes Then
    din kode......
Else
Exit Sub
End If
Avatar billede Chewie Novice
18. marts 2003 - 10:46 #5
Hmmm ... det er så har jeg melder mig ud :o)
Avatar billede henrik4223 Nybegynder
18. marts 2003 - 10:51 #6
Kan jeg ikke lave noget der bare skal sættes ind i makroen, der bliver kørt først? Så jeg ikke skal lave det der VBA?
Avatar billede jkrons Professor
18. marts 2003 - 10:54 #7
Makroen er VBA!!

Vælg Makro - Makroer - Klik på din makro og klik på Rediger. Så kan du se din vba-kode. Så skal du bare skrive fx min løsning eller Flemmings "rundt om dit eget" som vi beskriver det.
Avatar billede henrik4223 Nybegynder
18. marts 2003 - 10:59 #8
Okay, jeg kan ikke få det til at virke. Min makro starter således:

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
ActiveWindow.SmallScroll Down:=9
    Range("E28:E38,E17:E26,C17:C26,C28:C38,A28:A38,A17:A26").Select
    Range("A26").Activate
BLA BLA BLA BLA
  End With
    Range("A1").Select
    ActiveWindow.SmallScroll Down:=-18
End Sub

Har prøvet at sætte det ind i stedet for "din kode......"... har også prøvet at skrive det efter Private Sub CommandButton2_Click()...
Avatar billede henrik4223 Nybegynder
18. marts 2003 - 11:11 #9
okay...jeg fattede det....virker nu...;-)
Avatar billede jkrons Professor
18. marts 2003 - 11:14 #10
Dette burde kunne gøre det.

Private Sub CommandButton2_Click()
If MsgBox("Ønsker du at fortsætte?", vbYesNo) = vbYes Then
Application.ScreenUpdating = False
ActiveWindow.SmallScroll Down:=9
    Range("E28:E38,E17:E26,C17:C26,C28:C38,A28:A38,A17:A26").Select
    Range("A26").Activate
BLA BLA BLA BLA
  End With
    Range("A1").Select
    ActiveWindow.SmallScroll Down:=-18

Else
Exit Sub
End If
End Sub
Avatar billede jkrons Professor
18. marts 2003 - 11:14 #11
Velbekomme!
Avatar billede janvogt Praktikant
18. marts 2003 - 11:19 #12
Linierne
ActiveWindow.SmallScroll Down:=9
ActiveWindow.SmallScroll Down:=-18

kunne tyde på "makro-støj" som du godt kan fjerne.

Det er også en god ide at indsætte en
Application.ScreenUpdating = True
til sidst.
Avatar billede Chewie Novice
18. marts 2003 - 11:37 #13
janvogt >> hvad gør ""Application.ScreenUpdating = True"" ??
Avatar billede janvogt Praktikant
18. marts 2003 - 11:45 #14
Application.ScreenUpdating = False
slår skærmopdateringen fra så man ikke ser alle de ting makroen udfører.

Application.ScreenUpdating = True
slår skærmopdateringen til igen.
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