inserire un controllo cella piene



  • inserire un controllo cella piene
    di francy (utente non iscritto) data: 08/06/2017 23:05:53

    buona sera

    vorrei inserire questo controllo con ulteriore messaggio box se la cella risulta gia piena

    ' verifica se la cella selezionata contiene già i dati
    MsgBox "Valore già inserito"

    grazzie mille per la vorsta disponibilita

    Francesca
     
    Private Sub CommandButton1_Click()
    Dim rng As Range
    With Sheets(ComboBox2.Value).Range("c3:c33")
                Set rng = .Find(What:=CDate(ComboBox1.Value), _
                                After:=.Cells(.Cells.Count), _
                                LookIn:=xlValues, _
                                LookAt:=xlWhole, _
                                SearchOrder:=xlByRows, _
                                SearchDirection:=xlNext, _
                                MatchCase:=False)
                        If Not rng Is Nothing Then
                    Sheets(ComboBox2.Value).Cells(rng.Row, 1).Value = Textbox1.Value
                    Sheets(ComboBox2.Value).Cells(rng.Row, 2).Value = TextBox2.Value
                    Sheets(ComboBox2.Value).Cells(rng.Row, 4).Value = TextBox4.Value
                    Sheets(ComboBox2.Value).Cells(rng.Row, 5).Value = TextBox3.Value
                End If
    End With
    Me.Textbox1.Value = ""
    Me.TextBox2.Value = ""
    Me.TextBox3.Value = ""
    Me.TextBox4.Value = ""
    Me.ComboBox1.Value = ""
    Me.ComboBox2.Value = ""
    End Sub



  • di Vecchio Frac data: 09/06/2017 09:16:20

    Quale cella? la cella attiva? o una del range C3:C33? o la cella "rng" del tuo codice?
    A occhio mi pare questo ultimo caso...

    If Not rng Is Nothing Then
    Sheets(ComboBox2.Value).Cells(rng.Row, 1).Value = Textbox1.Value
    ...
    else
    msgbox "Valore già inserito"
    exit sub
    End If
    (aggiusta l'indentazione nel tuo codice)





  • di francy data: 14/06/2017 18:17:02

    salve se allego il file riusciamo a risolvere questo mio problema?



  • di alfrimpa data: 14/06/2017 18:46:30

    Ciao Francesca

    Per quel che ho capito modificherei il codice come vedi sotto ma è senz'altro meglio se alleghi il file così lo si può anche testare (scrivere codice senza il file dove dovrà girare non è mai una buona cosa).

    Alfredo
     
       If Not Rng Is Nothing Then
            If Rng.Value <> "" Then
                MsgBox "Valore già inserito"
                Else
                    Sheets(ComboBox2.Value).Cells(Rng.Row, 1).Value = Textbox1.Value
                    Sheets(ComboBox2.Value).Cells(Rng.Row, 2).Value = TextBox2.Value
                    Sheets(ComboBox2.Value).Cells(Rng.Row, 4).Value = TextBox4.Value
                    Sheets(ComboBox2.Value).Cells(Rng.Row, 5).Value = TextBox3.Value
                End If
      End If