Avatar billede micwar Mester
11. februar 2014 - 10:49 Der er 3 kommentarer og
1 løsning

En UserForm med 3 valgmuligheder

Hej eksperter
Jeg har en UserForm hvor jeg har en ComboBox, en TextBox og 3 OptionButton.
Til slut har jeg en CommandButton som skal gemme hvad der står i en af de tre bokse til en Celle.
Mit problem er at de overskriver hinanden, så hvis f.eks. en tekst står i combobox så overskriver den tomme tekst i textbox så cellen forbliver tom.
Ønsked er at når man trykker på CommandButten skal VBA gå ind og se hvor der er tekst eller hvad for en mulighed man har valgt, så den tekst man har skrevet kommer ind i cellen (A1).
Håber det er til at forstå.
Avatar billede claes57 Ekspert
11. februar 2014 - 11:00 #1
det må være en if... her er en skitse
if combobox.listindex>0 then
' noget er valgt - sæt i tekstbox
  textbox.text = combobox.lixt(listindex)
elseif OptionButton.selected
' ved ikke om det hedder det?
' noget er valgt - sæt i tekstbox

else
' intet er valgt

end if
Avatar billede supertekst Ekspert
11. februar 2014 - 11:12 #2
Ellers er du velkommen til at sende filen
@-adresse under min profil
Avatar billede micwar Mester
11. februar 2014 - 11:15 #3
Jeg sender lige min kode.
Problemet er at Combobox bliver overskrevet af TextBox


Private Sub CommandButtonGEM_Click()
   
    Range("A1").Select
    If Range("A1").Value = "" Then
    Range("A1").Activate
    Else
    Range("A1").CurrentRegion.Select
    ActiveCell.Offset(Selection.Rows.Count, 0).Activate
    End If
   
 
    With ActiveCell
     
    .Value = ComboBox1.Text
 
    .Value = TextBox1.Text
 
    If OptionButton1.Value = True Then
    .Value = "Test 3"
    ElseIf OptionButton2.Value = True Then
    .Value = "Test 4"
    ElseIf OptionButton3.Value = True Then
    .Value = "Test 5"
    End If
   
    End With
   
    Me.ComboBox1.Text = ""
    Me.TextBox1.Text = ""
 
    Me.OptionButton1.Value = ""
    Me.OptionButton2.Value = ""
    Me.OptionButton3.Value = ""
   
   
   
End Sub
Avatar billede supertekst Ekspert
11. februar 2014 - 11:55 #4
Private Sub CommandButtonGEM_Click()
    Range("A1").Select
    If Range("A1").Value = "" Then
        Range("A1").Activate
    Else
        Range("A1").CurrentRegion.Select
        ActiveCell.Offset(Selection.Rows.Count, 0).Activate
    End If
   
    With ActiveCell
        If ComboBox1.Text <> "" Then
            .Value = ComboBox1.Text
        Else
            If TextBox1.Text <> "" Then
                .Value = TextBox1.Text
            Else
                If OptionButton1.Value = True Then
                    .Value = "Test 3"
                Else
                    If OptionButton2.Value = True Then
                        .Value = "Test 4"
                    Else
                        If OptionButton3.Value = True Then
                            .Value = "Test 5"
                        End If
                    End If
                End If
            End If
        End If
    End With
   
    Me.ComboBox1.Text = ""
    Me.TextBox1.Text = ""
 
    Me.OptionButton1.Value = ""
    Me.OptionButton2.Value = ""
    Me.OptionButton3.Value = ""
End Sub
Private Sub UserForm_Initialize()
    Me.ComboBox1.List = Range("test_tekst").Value
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
Kategori
Kurser inden for grundlæggende programmering

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