Avatar billede jesperdyhr Praktikant
06. april 2017 - 13:49 Der er 3 kommentarer

Indsætte et Tvunget valg

Jeg har brug for at sætte et "tvunget valg" ind i en fane, som kommer op og skal vælges, inden man skifter til en anden fane i arket. 

Jeg har en "hoved-side" i et ark, der fungerer som bestillings-system, og dér vil jeg gerne have vælge en type bestilling ("Type 1" eller "Type 2") og dette valg skal være foretaget før man kan skifte til en anden fane i regnearket.
Jeg skal bruge vaget til at tilføje en tekst til ordre løbenummeret, så det bliver Ordre: 119 - Type 1
Avatar billede kim1a Ekspert
06. april 2017 - 16:00 #1
En vba kan registrere om celle x har indholdet Type 1 og så kunne du have fanerne skjult indtil det står rigtigt?
Avatar billede store-morten Ekspert
06. april 2017 - 17:46 #2
Prøv:
Private Sub Worksheet_Deactivate()

    If Not Range("A4").Text = "Type 1" Or Range("A4").Text = "Type 2" Then
        MsgBox "Husk at udfylde celle A4", vbOKOnly + vbInformation
        Cancel = True
        Sheets("hoved-side").Select '<-- Ark navn til rettes
        Range("A4").Activate
    End If

End Sub
Koden lægges på "hoved-side"
Celle A4 skal indeholde "Type 1" eller "Type 2" før der kan skiftes fane.
Avatar billede store-morten Ekspert
09. april 2017 - 13:33 #3
Lidt rettelser og forlag.
Den korte:
Private Sub Worksheet_Deactivate()
'Den korte
    If Range("A4").Text = "Type 1" Or Range("A4").Text = "Type 2" Then
'Siden skifter hvis Type 1 elle Type 2 er valgt
    Else
'Ark1, celle A4 aktiveres
        Sheets("Ark1").Select '<-- Ark navn til rettes
        Range("A4").Activate
    End If
End Sub

Med info boks:
Private Sub Worksheet_Deactivate()
'Med info boks
    If Range("A4").Text = "Type 1" Or Range("A4").Text = "Type 2" Then
'Siden skifter hvis Type 1 elle Type 2 er valgt
    Else
'Info boks
        MsgBox "Husk at vælge Type 1 eller Type 2.", vbOKOnly + vbInformation, "Bestillings Type."
        Cancel = True
'Ark1, celle A4 aktiveres
        Sheets("Ark1").Select '<-- Ark navn til rettes
        Range("A4").Activate
    End If
End Sub

Med valg muligheder:
Private Sub Worksheet_Deactivate()
'med valg
    If Range("A4").Text = "Type 1" Or Range("A4").Text = "Type 2" Then
'Siden skifter hvis Type 1 elle Type 2 er valgt
    Else
'Valg boks Type 1
        Svar1 = MsgBox("Vil du bruge: Type 1", vbYesNo + vbQuestion, "Bestillings type.")
            If Svar1 = vbYes Then
            Range("A4") = "Type 1"
            End If
'Type 1 er valgt. og siden skifter
        If Svar1 = vbNo Then
'Valg boks Type 2
            Svar2 = MsgBox("Vil du bruge: Type 2", vbYesNo + vbQuestion, "Bestillings type.")
            End If
        If Svar2 = vbYes Then
            Range("A4") = "Type 2"
            End If
'Type 2 er valgt. og siden skifter
        If Svar2 = vbNo Then
'Ingen valg, Ark1, celle A4 aktiveres
            Sheets("Ark1").Select '<-- Ark navn til rettes
            Range("A4").Activate
            End If
    End If
End Sub
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