Risultati da 1 a 13 di 13

Discussione: Copiare cella concatenata se presente testo specifico in combobox



  1. #1
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Copiare cella concatenata se presente testo specifico in combobox

    Ciao a tutti,

    l’obiettivo finale è che la macro vada a compilare la colonna A del foglio “2_Aggiornamenti (2)” inserendo il nominativo completo (Cognome e Nome) e aggiunga una X nella colonna specifica (B-C-D-E) del foglio stesso quando nella COMBOBOX4 presente nel form in ANAGRAFICA sia selezionata una delle seguenti voci:
    RLS
    Addetto alle Emergenze
    Addetto I soccorso
    Addetto Antincendio
    Nel file allegato ad esempio, Super Daniele ha la X in corrispondenza della voce di addetto I soccorso.

    Per imparare vorrei arrivarci per gradi quindi il primo step che mi sono imposto era copiare il nominativo nel foglio di lavoro “2_Aggiornamenti (2)” ignorando per il momento qualsiasi condizione differente.
    https://www.dropbox.com/s/zjdue0x298...orum.xlsm?dl=0
    Ovviamente NON ci sono riuscito….in rosso le integrazioni fatte alla macro esistente :
    Codice: 
    Private Sub Label21_Click()
    Dim wks As Worksheet, iRow As Integer
    Dim uriga As Long
    Dim wks1 As Worksheet
    Dim wks2 As Worksheet
    Set wks = Sheets("Anagrafica")
    Set wks1 = Sheets("0_Nuovo assunto")
    Set wks2 = Sheets("2_Aggiornamenti (2)")
    uriga = wks1.Range("A" & Rows.Count).End(xlUp).Row
    uriga = wks2.Range("A" & Rows.Count).End(xlUp).Row
    
    With wks
               iRow = 3
               While .Cells(iRow, 2).Value <> ""
               iRow = iRow + 1
              Wend
              .Cells(iRow, 1) = iRow - 2
              .Cells(iRow, 2) = TextBox15 'badge
              .Cells(iRow, 3) = TextBox1 & " " & TextBox2 ' cognome + nome
              .Cells(iRow, 4) = TextBox1 'cognome
              .Cells(iRow, 5) = TextBox2 'nome
              .Cells(iRow, 6) = OptionButton1 'nuovo assunto
              .Cells(iRow, 7) = TextBox12 'data nascita
              .Cells(iRow, 8) = TextBox13 'luogo nascita
              .Cells(iRow, 9) = TextBox14 'codice fiscale
              .Cells(iRow, 10) = ComboBox7 'qualifica
              .Cells(iRow, 11) = ComboBox1 'stabilimento
              .Cells(iRow, 12) = ComboBox3 'ruolo aziendale
              .Cells(iRow, 13) = ComboBox4 'ruolo sicurezza
              .Cells(iRow, 14) = ComboBox5 'titolo di studio
              .Cells(iRow, 15) = ComboBox6 'in forza
           wks1.Range("A" & uriga).Value = TextBox1 & " " & TextBox2
              TextBox1 = ""
              TextBox2 = ""
              TextBox12 = ""
              TextBox13 = ""
              TextBox14 = ""
              TextBox15 = ""
              ComboBox7 = ""
              ComboBox1 = ""
              ComboBox3 = ""
              ComboBox4 = ""
              ComboBox5 = ""
              ComboBox6 = ""
         wks2.Range("A" & uriga).Value = TextBox1 & " " & TextBox2
              TextBox1 = ""
              TextBox2 = ""
              TextBox12 = ""
              TextBox13 = ""
              TextBox14 = ""
              TextBox15 = ""
              ComboBox7 = ""
              ComboBox1 = ""
              ComboBox3 = ""
              ComboBox4 = ""
              ComboBox5 = ""
              ComboBox6 = ""
    
    
    
    End With
    Set wks = Nothing
    Set wks1 = Nothing
    Set wks2 = Nothing
    
    End Sub
    Grazie in anticipo
    Gene

  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1098
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: Copiare cella concatenata se presente testo specifico in combobox

    secondo me dovresti spiegare dall'inizio
    1) come si attiva la userform
    2) quale voce si veve scegliere
    3) ...
    tu sei partito dalla fine

  3. #3
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3204
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    154

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao Gene
    mi permetti un consiglio?
    Se, come dici, questo esercizio di serve per imparare incomincia con due/tre fogli, scrivi le sequenze di ciò che vuoi realizzare, trasforma quanto scritto in "codice VBA" e prova, e riprova, e riprova ... Ed ogni volta analizza ciò che hai fatto, esamina riga per riga per renderti conto dove è, se c'è, l'errore e correggilo.
    L'esempio che proponi è troppo complesso per "vederlo" tutto insieme. Spezzettalo e guarda che ci riuscirai. Dopo assemblare il tutto ti verrà (si fa per dire) un gioco.
    Buon divertimento. Ciao,
    Mario

  4. #4
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao a tutti.

    @ Patel
    Hai ragione tenuto conto che sia il form che la macro sono nate in questo forum ho omesso delle info.
    Provvedo subito:
    Usando il form presente in "Anagrafica" per Inserire un nuovo addetto, quando nella compilazione dei vari campi si arriva alla combobox "Ruolo sicurezza" la selezione di alcune voci specifiche (vedi post #1) attiva l'inserimento di Cognome&Nome nell'elenco (colonna A) del foglio di lavoro “2_Aggiornamenti (2)”.

    @Mario
    E il metodo che uso ma non trovo l'inghippo.
    Di seguito ragionamenti fatti.

    Nel primo pezzo definisco le condizioni:
    Codice: 
    Private Sub Label21_Click()
    Dim wks As Worksheet, iRow As Integer
    Dim uriga As Long
    Dim wks1 As Worksheet
    Dim wks2 As Worksheet
    Set wks = Sheets("Anagrafica")
    Set wks1 = Sheets("0_Nuovo assunto")
    Set wks2 = Sheets("2_Aggiornamenti (2)")
    uriga = wks1.Range("A" & Rows.Count).End(xlUp).Row
    uriga = wks2.Range("A" & Rows.Count).End(xlUp).Row 
    Poi gli "dico" cosa fare:
    Codice: 
    With wks
               iRow = 3
               While .Cells(iRow, 2).Value <> ""
               iRow = iRow + 1
              Wend
              .Cells(iRow, 1) = iRow - 2
              .Cells(iRow, 2) = TextBox15 'badge
              .Cells(iRow, 3) = TextBox1 & " " & TextBox2 ' cognome + nome
              .Cells(iRow, 4) = TextBox1 'cognome
              .Cells(iRow, 5) = TextBox2 'nome
              .Cells(iRow, 6) = OptionButton1 'nuovo assunto
              .Cells(iRow, 7) = TextBox12 'data nascita
              .Cells(iRow, 8) = TextBox13 'luogo nascita
              .Cells(iRow, 9) = TextBox14 'codice fiscale
              .Cells(iRow, 10) = ComboBox7 'qualifica
              .Cells(iRow, 11) = ComboBox1 'stabilimento
              .Cells(iRow, 12) = ComboBox3 'ruolo aziendale
              .Cells(iRow, 13) = ComboBox4 'ruolo sicurezza
              .Cells(iRow, 14) = ComboBox5 'titolo di studio
              .Cells(iRow, 15) = ComboBox6 'in forza
           wks1.Range("A" & uriga).Value = TextBox1 & " " & TextBox2
              TextBox1 = ""
              TextBox2 = ""
              TextBox12 = ""
              TextBox13 = ""
              TextBox14 = ""
              TextBox15 = ""
              ComboBox7 = ""
              ComboBox1 = ""
              ComboBox3 = ""
              ComboBox4 = ""
              ComboBox5 = ""
              ComboBox6 = ""
         wks2.Range("A" & uriga).Value = TextBox1 & " " & TextBox2
              TextBox1 = ""
              TextBox2 = ""
              TextBox12 = ""
              TextBox13 = ""
              TextBox14 = ""
              TextBox15 = ""
              ComboBox7 = ""
              ComboBox1 = ""
              ComboBox3 = ""
              ComboBox4 = ""
              ComboBox5 = ""
              ComboBox6 = ""
    E infine chiudo:
    Codice: 
    End With
    Set wks = Nothing
    Set wks1 = Nothing
    Set wks2 = Nothing
    
    End Sub
    Dove sbaglio?

    Gene

  5. #5

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao Gene,
    da quel che ho capito io vorresti una cosa del genere

    Codice: 
    Private Sub INSERISCI_Click()
        Dim sh As Worksheet, uRiga As Long
        Set sh = Worksheets("2_Aggiornamenti (2)")
        uRiga = sh.Cells(Rows.Count, 1).End(xlUp).Row + 1
            If ComboBox4 = "RLS" Then
                sh.Cells(uRiga, 1) = TextBox1 & " " & TextBox2
                sh.Cells(uRiga, 2) = "X"
            ElseIf ComboBox4 = "Addetto alle Emergenze" Then
                sh.Cells(uRiga, 1) = TextBox1 & " " & TextBox2
                sh.Cells(uRiga, 3) = "X"
            ElseIf ComboBox4 = "Addetto I Soccorso" Then
                sh.Cells(uRiga, 1) = TextBox1 & " " & TextBox2
                sh.Cells(uRiga, 4) = "X"
            ElseIf ComboBox4 = "Addetto Antincendio" Then
                sh.Cells(uRiga, 1) = TextBox1 & " " & TextBox2
                sh.Cells(uRiga, 5) = "X"
            End If
        Set sh = Nothing
        MsgBox "Dato inserito correttamente!"
    End Sub
    Non ho capito come lo inserisci e quindi ho messo un pulsante INSERISCI

    EDIT: Non ho visto che avevi postato il messaggio sopra.
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  6. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao a tutti,

    l’obiettivo finale è che la macro vada a compilare la colonna A del foglio “2_Aggiornamenti (2)” inserendo il nominativo completo (Cognome e Nome) e aggiunga una X nella colonna specifica (B-C-D-E) del foglio stesso quando nella COMBOBOX4 presente nel form in ANAGRAFICA sia selezionata una delle seguenti voci:
    RLS
    Addetto alle Emergenze
    Addetto I soccorso
    Addetto Antincendio
    Nel file allegato ad esempio, Super Daniele ha la X in corrispondenza della voce di addetto I soccorso.

    ...
    .
    Ma scusa Gene, la richiesta che hai fatto nel primo post mi sembra sia un'altra cosa rispetto il tuo ultimo post.
    Sicuramente non ho capito!
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  7. #7
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao Ges,
    la richiesta resta quello iniziale ma non sapendo come arrivarci in maniera diretta volevo provarci a step.
    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio

    Per imparare vorrei arrivarci per gradi quindi il primo step che mi sono imposto era copiare il nominativo nel foglio di lavoro “2_Aggiornamenti (2)” ignorando per il momento qualsiasi condizione differente.
    se avessi avuto te a scuola avrei fatto meno fatica...(ma non dirlo a Mario!!!). Comunque ora la studio.

    Per l'attivazione, l'idea era di usare sempre il tasto SALVA ma che la trascrizione nel foglio di lavoro “2_Aggiornamenti (2)” avvenisse quando nella combobox "Ruolo sicurezza" fosse presente uno dei termini prescelti.

    EDIT
    Comunque ovviamente il tuo lavoro funziona alla grande.
    Ma la strada che avevo preso nel voler integrare la macro esistente era completamente sbagliata?

    Gene

  8. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    ...
    Ma la strada che avevo preso nel voler integrare la macro esistente era completamente sbagliata?
    ...
    Se volevi ottenere quello che ho ottenuto io eri fuori strada .. o meglio ci sono tante cose che non servono.

    In pratica, a te serviva portare dei dai dati da due textbox al foglio “2_Aggiornamenti (2)” allora non serve richiamare tutti gli altri fogli.

    Per la modalità di trovare l'ultima riga vuota il metodo
    Codice: 
     iRow = 3
               While .Cells(iRow, 2).Value <> ""
               iRow = iRow + 1
              Wend


    è alternativo a quello che ho usato io.

    ma in realtà tu stati inserendo i dati in un altro foglio, cioè Anagrafica.

    Codice: 
    Set wks = Sheets("Anagrafica")
    


    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  9. #9
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao Ges,ma nella macro non vogliamo dirgli proprio quello? Ossia, tradotto in maniera pedestre: quando dal form schiaccio Salva, devi salvare i dati in Anagrafica e poi in Nuovo assunto se l'optionbotton è Si e per ultimo, con questa integrazione, scrivi Cognome&nome e metti la X nel foglio Aggiornamento sicurezza (2) se nella combobox Ruolo sicurezza è presente un testo specifico.Scusa lo stress ma aiutami a capire.GrazieGene

  10. #10

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ok, ok ...sono due istruzioni distinte in un'unica macro.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  11. #11

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Gene,
    stavolta ti metto il codice completo integrato col tuo, secondo la tua ultima richiesta.
    Codice: 
    
    
    Private Sub Label21_Click()
    Dim wks As Worksheet, wks2 As Worksheet, iRow As Integer
    Dim uRiga1 As Long, uRiga2 As Long
    Dim wks1 As Worksheet
    Set wks = Sheets("Anagrafica")
    Set wks1 = Sheets("0_Nuovo assunto")
    Set wks2 = Sheets("2_Aggiornamenti (2)")
    uRiga = wks1.Range("A" & Rows.Count).End(xlUp).Row
    With wks
               iRow = 3
               While .Cells(iRow, 2).Value <> ""
               iRow = iRow + 1
              Wend
              .Cells(iRow, 1) = iRow - 2
              .Cells(iRow, 2) = TextBox15 'badge
              .Cells(iRow, 3) = TextBox1 & " " & TextBox2 ' cognome + nome
              .Cells(iRow, 4) = TextBox1 'cognome
              .Cells(iRow, 5) = TextBox2 'nome
              .Cells(iRow, 6) = OptionButton1 'nuovo assunto
              .Cells(iRow, 7) = TextBox12 'data nascita
              .Cells(iRow, 8) = TextBox13 'luogo nascita
              .Cells(iRow, 9) = TextBox14 'codice fiscale
              .Cells(iRow, 10) = ComboBox7 'qualifica
              .Cells(iRow, 11) = ComboBox1 'stabilimento
              .Cells(iRow, 12) = ComboBox3 'ruolo aziendale
              .Cells(iRow, 13) = ComboBox4 'ruolo sicurezza
              .Cells(iRow, 14) = ComboBox5 'titolo di studio
              .Cells(iRow, 15) = ComboBox6 'in forza
        End With
                With wks2
        uRiga2 = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            If ComboBox4 = "RLS" Then
                .Cells(uRiga2, 1) = TextBox1 & " " & TextBox2
                .Cells(uRiga2, 2) = "X"
            ElseIf ComboBox4 = "Addetto alle Emergenze" Then
                .Cells(uRiga2, 1) = TextBox1 & " " & TextBox2
                .Cells(uRiga2, 3) = "X"
            ElseIf ComboBox4 = "Addetto I Soccorso" Then
               .Cells(uRiga2, 1) = TextBox1 & " " & TextBox2
                .Cells(uRiga2, 4) = "X"
            ElseIf ComboBox4 = "Addetto Antincendio" Then
                .Cells(uRiga2, 1) = TextBox1 & " " & TextBox2
                .Cells(uRiga2, 5) = "X"
            End If
        End With
           wks1.Range("A" & uRiga).Value = TextBox1 & " " & TextBox2
              TextBox1 = ""
              TextBox2 = ""
              TextBox12 = ""
              TextBox13 = ""
              TextBox14 = ""
              TextBox15 = ""
              ComboBox7 = ""
              ComboBox1 = ""
              ComboBox3 = ""
              ComboBox4 = ""
              ComboBox5 = ""
              ComboBox6 = ""
        Set wks2 = Nothing
        MsgBox "Dato inserito correttamente!"
    Set wks = Nothing
    Set wks1 = Nothing
    Set wks2 = Nothing
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. #12
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Copiare cella concatenata se presente testo specifico in combobox

    [RISOLTO]

    Il solito ma non scontato: GRAZIE!!

    Gene

    PS Ho notato che nella listbox il cognome viene troncato si può rimediare?

  13. #13

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7108
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2059
    Likes dati
    1296

    Re: Copiare cella concatenata se presente testo specifico in combobox

    Ciao Gene,
    per sistemare basta modificare gli spazi delle colonne nella proprietà della ListBox, ti allego uno screen in cui ho messo 70 ma fai delle prove a tuo piacimento, poi puoi spostare anche i Label nome e cognome.

    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  14. I seguenti utenti hanno dato un "Like"


Discussioni Simili

  1. [Risolto] Macro per ordinare in base a quante volte è presente un carattere specifico.
    Di Lety88 nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 01/11/16, 22:00
  2. [Risolto] Copiare cella e intestazione se presente una condizione
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 17/09/16, 14:41
  3. Copiare testo solo se non presente testo specifico
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 01/06/16, 23:44
  4. unire il testo presente su celle differenti
    Di vitangelo nel forum Domande su Excel in generale
    Risposte: 17
    Ultimo Messaggio: 12/04/16, 14:37
  5. Inserire in testo presente nella cella un valore ricavato da un altra cella
    Di Bestpaul nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 07/12/15, 17:05

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
  •