Condividi tramite

Userform controllo cambiamento textbox durante modifica dati!

Anonimo
2014-07-26T09:59:58+00:00

Buon giorno a tutti.

Il problema è il seguente:

Ho una userform con delle textbox e delle combobox ,che prelevano dati dalla mia tabella.

Ora vorrei mettere un controllo di change dati per la combobox visto che in base al valore in essa contenuto

esempio se il valore è "1" appare Frame1  e se il valore è "2" appare Frame2 e diventa invisibile Frame1.

Quindi nel momento in cui agisco sulle textbox senza controllo cambiano solo i dati che io inserisco 

mentre se cambio da "1" a "2" nella combobox ,in tempo reale (prima di premere il pulsante di modifica e scrivere i dati in tabella)

mi aggiorna la userfom facendo apparire e rendendo invisibile a seconda della scelta ,Frame1 o Frame2.

Di seguito parte del codice che uso per modificare i dati dopo la pressione del tasto modifica!

Private Sub cmdModifica_Click()

    Dim lUltRiga As Long

    Dim lRisposta As Long

    Dim rng As Range

    Dim c As Range

    lRisposta = MsgBox(Prompt:="Modificare il record?", _

        Title:="Attenzione", _

        Buttons:=vbYesNo + vbQuestion)

    If lRisposta = vbYes Then

        With sh

            lUltRiga = .Range("A" & _

                .Rows.Count).End(xlUp).Row

            Set rng = .Range("A3:A" & lUltRiga)

     .Unprotect Password:="Pippo"

 For Each c In rng

      If c.Value = Me.txtPRC.Text Then

         c.Offset(0, 1).Value = _

           Me.txtCommessa.Text

         c.Offset(0, 2).Value = _

           Me.ComboBoxCategorico.Text

'<================================  Controllo modifica in combobox

         c.Offset(0, 3).Value = _

           Me.txtDDT.Text

         c.Offset(0, 4).Value = _

           Me.ComboBoxProvenienza.Text

Etc.... Etc...........

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-07-26T10:39:11+00:00

...

Quindi nel momento in cui agisco sulle textbox senza controllo cambiano solo i dati che io inserisco 

mentre se cambio da "1" a "2" nella combobox ,in tempo reale (prima di premere il pulsante di modifica e scrivere i dati in tabella)

mi aggiorna la userfom facendo apparire e rendendo invisibile a seconda della scelta ,Frame1 o Frame2.

...

Per eseguire del codice in automatico al variare di una textbox o combobox, puoi sfruttare l'evento Change della textbox o combobox:

Private Sub ComboBoxCategorico_Change()

  If ComboBoxCategorico.Value = 1 Then

    Me.Frame1.Visible = True

  ElseIf ComboBoxCategorico.Value = 2 Then

    Me.Frame2.Visible = True

  End If

End Sub

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-07-26T10:24:20+00:00

Buon giorno a tutti.

Il problema è il seguente:

Ho una userform con delle textbox e delle combobox ,che prelevano dati dalla mia tabella.

Ora vorrei mettere un controllo di change dati per la combobox visto che in base al valore in essa contenuto

<cut>

Se vuoi controllare se viene modificato il valore della ComboBox, esiste l'evento Change:

Private Sub ComboBox1_Change()

    MsgBox "Quello che vuoi al posto della MsgBox"

End Sub

Se invece vuoi controllare se è stato modificato il valore della TextBox:

Private Sub TextBox1_Change()

    MsgBox "Quello che vuoi al posto della MsgBox"

End Sub

Se il controllo deve essere fatto su n oggetti, anziché scrivere n volte lo stesso codice, vedi:

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-07-26T13:23:37+00:00

    Scusate la mia ignoranza ma non so davvero come usare i codici che mi avete postato...

    Visto che ti stai avvicinando al vba ti consiglio una sbirciatina ai vari wiki, tra i quali troverai sicuramente utili spunti.

    Questoin particolare per quanto riguarda il codice.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-07-26T12:24:45+00:00

    Scusate la mia ignoranza ma non so davvero come usare i codici che mi avete postato...

    dove devo inserirli ? all'interno del codice della mia userform?

    nel fogli su cui la userfom lavora?

    O devo inserirlo in qualche modo all'interno della mia sub di inizializzazione della userform?

    Sono eventi dei controlli della UserForm, quindi nel modulo di codice della UserForm.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-07-26T12:22:17+00:00

    Scusate la mia ignoranza ma non so davvero come usare i codici che mi avete postato...

    dove devo inserirli ? all'interno del codice della mia userform?

    nel fogli su cui la userfom lavora?

    O devo inserirlo in qualche modo all'interno della mia sub di inizializzazione della userform?

    '===========================

    '===== Eventi UserForm =====

    '===========================

    Private Sub UserForm_Initialize()

        Set sh = Worksheets("SAL-Costi")

        With sh

            lUltRiga = .Range( _

                "A" & Rows.Count _

                ).End(xlUp).Row

        End With

        With Me

            .cmdInserisci.Enabled = False

            .Height = 580

            .Width = 765

        End With

      Me.ComboBoxCategorico.RowSource = "Menu!B3:B15"

      Me.ComboBoxProvenienza.RowSource = "Menu!D3:D15"

      Me.ComboBoxRiparazione.RowSource = "Menu!F3:F9"

    End Sub

    Scusate ancora per l'ignoranza!!!

    La risposta è stata utile?

    0 commenti Nessun commento