Risultati da 1 a 6 di 6

Discussione: Inserimento dati da UserForm



  1. #1
    L'avatar di dpg70
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Trebaseleghe (PD)
    Età
    47
    Messaggi
    60
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    13

    Inserimento dati da UserForm

    Un Grosso Saluto per ben iniziare, a tutti.

    Vi disturbo, con un nuovo problema che da settimane ora mai mi blocca.
    Ho creato un UserForm "frmRegistrazioni_Giornaliere" per inserire dati nel foglio "Cantiere", aiutandomi con suggerimenti presi e adattati dal Forum, sono in parte riuscito nell'intento ma sviluppando successivamente altre funzioni del Form, incontro il mio problema!.

    Errore di run-time "1004" che nasce dal listato (Application.WorksheetFunction.VLookup)

    Nel Form di inserimento indicato es. eseguendo l'inserimento dal quadro Risorse di Cantiere con pulsanti di opzione e combobox, inserisco nell'Anteprima di Registrazione e precisamente in una ListBox i dati formulati con il pulsante [(+)]rosso.
    Il primo inserimento riesce, ma nel secondo nasce l'errore e non riesco a superarlo.

    File Allegato:
    http://www.filedropper.com/gestionecantiere160forum

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2811
    Versione Office
    Excel 2013
    Likes ricevuti
    1022
    Likes dati
    979

    Re: Inserimento dati da UserForm

    da errore in quanto la funzione
    Codice: 
    Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 3, False)
    cerca un cboNominativo vuoto.

    Aggiungi in testa:
    Codice: 
    If CboNominativo = "" Then Exit Sub
    P.S. C'è un sacco di codice ripetitivo che si potrebbe ridurre
    es.
    tutti i casi con If...Then
    Codice: 
    If CboRisorse.Text = "Manodopera" Then
        CboNominativo.RowSource = "Tabelle!Manodopera"
    End If
    If CboRisorse.Text = "Contabilità" Then
        CboNominativo.RowSource = "Tabelle!Contabilità"
    End If
    If CboRisorse.Text = "Mezzi propri" Then
        CboNominativo.RowSource = "Tabelle!Mezzi_propri"
        LblGruppo.Caption = "Mezzi"
    End If
    If CboRisorse.Text = "Mezzi terzi" Then
        CboNominativo.RowSource = "Tabelle!Mezzi_terzi"
        LblGruppo.Caption = "Mezzi"
    End If
    [...]
    si potrebbero ridurre in:
    Codice: 
        CboNominativo.RowSource = "Tabelle!" & Replace(CboRisorse, " ", "_")
    anche
    Codice: 
    If CboRisorse.Text = "Manodopera" Then
        Set tabella = Worksheets("Tabelle").Range("tab_manodopera")
        Me.LblUnità.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 3, False)
        Me.LblPrezzo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 4, False)
        Me.LblGruppo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 6, False)
        Me.LblCategoria.Caption = "Manodopera"
    End If
    
    
    If CboRisorse.Text = "Contabilità" Then
        Set tabella = Worksheets("Tabelle").Range("tab_contabilità")
        Me.LblUnità.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 3, False)
        Me.LblPrezzo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 4, False)
        Me.LblGruppo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 6, False)
        Me.LblCategoria.Caption = "Contabilità"
    End If
    [...]
    si potrebbe sfoltire in:
    Codice: 
    Select Case CboRisorse.Text
        Case "Manodopera", "Contabilita"
            Set tabella = Worksheets("Tabelle").Range("tab_" & Replace(CboNominativo, " ", "_"))
            Me.LblUnità.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 3, False)
            Me.LblPrezzo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 4, False)
            Me.LblGruppo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 6, False)
            Me.LblCategoria.Caption = CboNominativo
        Case "Attrezzature proprie", "Attrezzature terzi", "Mezzi propri", "Mezzi terzi", "Servizi tecnici", "Servizi terzi", _
            "Noleggio attrezzature", "Noleggio mezzi", "Noleggio Consumi", "Generali", "Discariche", "Rifiuti", "Energia Carburanti"
            Set tabella = Worksheets("Tabelle").Range("tab_" & Replace(CboNominativo, " ", "_"))
            Me.LblUnità.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 3, False)
            Me.LblPrezzo.Caption = Application.WorksheetFunction.VLookup(Me.CboNominativo.Value, tabella, 4, False)
            Me.LblCategoria.Caption = CboNominativo
    End Select
    e altro ancora

  3. #3
    L'avatar di dpg70
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Trebaseleghe (PD)
    Età
    47
    Messaggi
    60
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    13

    Re: Inserimento dati da UserForm

    Mille2 Grazie Rubik72.
    Inizierò a lavorarci, anche per la semplificazione del codice che avrei affrontato successivamente.

  4. #4
    L'avatar di dpg70
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Trebaseleghe (PD)
    Età
    47
    Messaggi
    60
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    13

    Re: Inserimento dati da UserForm

    Grazie ancora Rubik72, delle corrette indicazioni.
    Ma chiedo se è possibile aggingere alla casella degli strumenti nei controlli un calendario, oppure, una Userform come "calendario" da richiamare nel mio caso come inserimento nella Textbox_Data?

  5. #5
    L'avatar di dpg70
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Trebaseleghe (PD)
    Età
    47
    Messaggi
    60
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    13

    Re: Inserimento dati da UserForm

    Ho trovato finalmente il frmCalendario con clsCalendario e lo ho adattato al mio caso, con risultato per me soddisfacente.
    Continuerò a miglioarlo e posto il file per le persone a cui può essere utile.

    http://www.filedropper.com/gestionecantiere160forum_1

  6. #6

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1022
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0

    Re: Inserimento dati da UserForm

    Citazione Originariamente Scritto da dpg70 Visualizza Messaggio
    Continuerò a miglioarlo e posto il file per le persone a cui può essere utile.
    Bravo dpg70, questo è lo spirito giusto!
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

Discussioni Simili

  1. Creazione UserForm (maschera inserimento dati) con Excel
    Di cescobolla nel forum Domande su Excel VBA e MACRO
    Risposte: 13
    Ultimo Messaggio: 10/03/17, 22:02
  2. UserForm inserimento data
    Di Gerardo Zuccalà nel forum Domande su Excel VBA e MACRO
    Risposte: 33
    Ultimo Messaggio: 05/11/16, 18:35
  3. Automatizzare inserimento dati in userform
    Di carlo861 nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 15/04/16, 10:24
  4. [Risolto] userform per inserimento dati
    Di gianluca33 nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 04/11/15, 15:11
  5. userform per inserimento dati
    Di gianluca33 nel forum Domande su Excel VBA e MACRO
    Risposte: 0
    Ultimo Messaggio: 28/10/15, 21:55

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •