Risultati da 1 a 9 di 9

Discussione: Copia valori da celle unite



  1. #1
    L'avatar di Lore02
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Vicenza
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0

    Copia valori da celle unite

    Buonasera a tutti,
    sto realizzando uno scadenziario in excel dove, tramite apposito pulsante attivo la seguente macro:

    Codice: 
    Sub invia_email()
        oggi = Date
        ultimariga = Range("B65000").End(xlUp).Row      ' CALCOLA ULTIMA RIGA DELLA TABELLA
        For i = 4 To ultimariga
       ' If Range("G" & I) <> "" Then GoTo Salta         ' SALTA L'ELABORAZIONE SE E' GIA' SOLLECITATO
        deadline = Range("H" & i).Value
       ' deadline = Range("H" & i).Value - (30* Range("J" & i).Value)     ' CALCOLA LA DATA DI RIFERIMENTO (30 giorni X mesi col. "C")
        If oggi < deadline Then GoTo Salta
        If Range("H" & i).Value = "" Then GoTo Salta
        If Range("H" & i).Value = "-" Then GoTo Salta
        Set VarOggApplicazioneOutlook = CreateObject("Outlook.Application")
        Set VarOggMailInOutlook = VarOggApplicazioneOutlook.CreateItem(olMailItem)
        VarOggMailInOutlook.To = "email.email@email.it"            ' EMAIL DESTINARIO
        VarOggMailInOutlook.Subject = "***ATTENZIONE: SEGNALAZIONE SCADENZA CORSI***"
        VarOggMailInOutlook.Body = "In scadenza " & Range("B" & i).Value & Range("C" & i).Value & "in data " & Range("H" & i).Value
        VarOggMailInOutlook.Display                                 ' OPZIONE PREVIEW EMAIL (usa la riga sotto se vuoi inviare direttamente)
        ' VarOggMailInOutlook.Send                                  ' OPZIONE SPEDISCI DIRETTAMENTE
        'Range("H" & I) = oggi                                           ' ANNOTA LA DATA DEL SOLLECITO SUL DATABASE nella colonna "G"
    Salta:
        Next i
        GoTo Fine
    ErroreUno:
       ' MsgBox ("Errore su Scaduto " & Range("A" & i).Value & " :allegato INESISTENTE")
       ' GoTo Salta
    Fine:
    End Sub
    La macro in oggetto verifica che le scadenze dei vari corsi (contenute nella colonna H – una data per ogni riga della colonna) non siano state superate confrontandole con la data di esecuzione della macro; in caso siano superate, per ogni corso scaduto, invia tramite mail (si utilizza come programma di posta OUTLOOK) un messaggio auto-compilato con il seguente testo: “”In scadenza” + contenuto della relativa cella della colonna B + contenuto della relativa cella della colonna C + “in data” + contenuto della cella della colonna H.
    Rispettivamente:
    Nelle celle della colonna B sono inserite le tipologie in scadenza;
    Nelle celle della colonna C sono inserite brevi descrizioni delle scadenze.

    Ora, il vba in oggetto è stato trovato in rete, adattato alle mie esigenze e funziona egregiamente (anche per l’invio della mail nessun problema). Unico neo del codice, è che la mia tabella/scadenziario, nelle colonne B e C può presentare alcune celle unite (per comodità ed evitare ripetizioni ho raggruppato i vari corsi tra loro): quando il codice va a compilare il messaggio mail prelevando il contenuto delle celle delle colonne B e C, se presentano celle unite, restituisce un contenuto vuoto. C’è un modo per ovviare a questo problema?

    Ringrazio anticipatamente per la collaborazione.

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Ciao,
    che io sappia le macro con le celle unite spesso non vanno d'accordo.
    Si potrebbe vedere un esempio, senza dati sensibili, della struttura del file?
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  3. #3
    L'avatar di Lore02
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Vicenza
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Buonasera Ges.
    Ringraziando per la collaborazione domani abbozzo un file semplice e carico.
    Avevo sbirciato in qualche forum internazionale di una possibile soluzione al copia da celle unite ma non son riuscito a replicare nel mio file.
    Distinti Saluti

  4. #4

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7161
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301
    Allora aspettiamo il file, anche per fare delle prove e vedere se possiamo trovare una soluzione.

    P.S. - Dammi pure del tu, nei forum questo è consuetudine per tutti! :90:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  5. #5
    L'avatar di Lore02
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Vicenza
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Buongiorno,
    In allegato un file di esempio. La macro da pulsante verificherà che le date contenute nelle celle della colonna H non siano state superate rispetto alla data di attivazione macro. In questo caso, verranno create 4 messaggi distinti di posta elettronica su outlook in quanto 4 date sono state superate. Ma come potete notare, solo 2 messaggi di posta avranno un testo completo.
    Saluti a tutti.
    File Allegati File Allegati

  6. #6
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155
    Ciao Lorel
    Come bene ha detto Ges (che saluto) le celle unite non vanno d'accordo con le macro.
    Seguimi un attimo: i messaggi con scadenza 28/2 e 1/3 dovrebbero avere la stessa dicitura ma NON POSSONO AVERLA perchè se ti posizioni col mouse dove c'è scritto "Verifica apprendimento" vedrai (in alto a sinistra della barra della formula) che si riferisce alla cella C20. Pertanto quando assumi la data 28/2 nella cella H20 la corrispondenza è esatta, invece quando prendi la data 1/3 cella H21 non c'è più corrispondenza.

    Spero di essere stato chiaro.
    Un mio personalissimo consiglio: se puoi evita le celle unite, sempre.

    Ciao,
    Mario

  7. #7

    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
    Ciao a tutti,

    senza entrare nel merito del resto del codice (??!!), prova a sostituire la riga
    Codice: 
    VarOggMailInOutlook.Body = "In scadenza " & Range("B" & i).Value & Range("C" & i).Value & "in data " & Range("H" & i).Value
    con
    Codice: 
    VarOggMailInOutlook.Body = "In scadenza " & Range("B" & i).MergeArea.Cells(1, 1).Value & " " & Range("C" & i).MergeArea.Cells(1, 1).Value & " in data " & Range("H" & i).Value
    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)

  8. I seguenti 2 utenti hanno dato un "Like" a scossa per questo post:


  9. #8
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155
    E non c'era alcun dubbio SCOSSA E' SEMPRE IL MIGLIORE.
    Ottima soluzione "far leggere" le celle unite. Ho imparato un'altra cosa.

    Ciao,
    Mario

  10. #9
    L'avatar di Lore02
    Clicca e Apri
    Data Registrazione
    Feb 2016
    Località
    Vicenza
    Messaggi
    4
    Versione Office
    Excel 2013
    Likes ricevuti
    0
    Likes dati
    0
    Buonasera a tutti.
    Ringrazio per i preziosi consigli... quando dicevo dell'aver sbirciato su forum internazionali qualche possibile soluzione mi riferivo proprio al "Merge.Area"... ma sinceramente non avrei saputo minimamente come utilizzarlo. Ringrazio dunque per aver corretto il codice. Domani sistemo e provo il tutto.
    Mi trovo alle prime armi con il vba... qualche programmino son riuscito a concluderlo ma principalmente sistemando parti di codice trovati nel web.
    A domani per il riscontro.
    Saluti.:32:

Discussioni Simili

  1. Trasportare celle unite a celle singole
    Di Catwoman nel forum Domande su Excel in generale
    Risposte: 21
    Ultimo Messaggio: 24/08/16, 19:00
  2. Copiare celle unite
    Di liuno nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 07/08/16, 19:19
  3. Copiare celle unite
    Di liuno nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 06/08/16, 20:46
  4. Somma celle e risultato in celle unite
    Di jigen nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 14/07/16, 10:48
  5. dividere celle unite
    Di mapero nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 04/05/16, 02:04

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
  •