Copiare un range di celle in un altro foglio nel primo campo vuoto (dopo ultima riga compilata) eliminando righe con certe caratteristiche ! Excel 2003 + Articolo univoco

Anonimo
2010-10-28T10:37:03+00:00

Aiuto... Ho due fogli di lavoro:1)NuovoMaster (dove inserisco dati in c6:g27 , nelle colonne "A e B" ci sono dati tipo data) e 2) Archivio. Vorrei copiare, usando una macro o altro, i dati del range A6:G27 da "NuovoMaster" a "Archivio" inserendo i dati nel primo rigo vuoto, eliminando poi le righe che hanno i dati nelle colonne "A e B" e i campi delle colonne C D E F G vuoti.

Vi ringrazio anticipatamente!

Quando inserisco i dati nelle celle C6:C27 di "NuovoMaster" è possibile avere un avviso tipo "articolo gia presente nella colonna" ?

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
2010-11-02T09:07:03+00:00

Ho pubblicato il file campione (colorometro.xls) su skydrive

(http://cid-e14e39f69c1c7d59.office.live.com/self.aspx/.Public/Colorometro.xls) (o questo http://b5z6yq.blu.livefilestore.com/y1paJutYx1wzCOJ3FSes87bJDdWvWaO4wsRS7xOdGvANlgTHBt9NUU1ISi46d2F0hYwHOMz\_9r6YKhXQPRhbx3ldKDnu6mLgw2D/Colorometro.xls?download&psid=1)

e ti invio l'indirizzo! non so se cosi si puo scaricare il file ! scusa se sono di poche parole ma con i tempi che corrono e meglio lavorara (Quando c'è un poco di lavoro!)

Aspetto una tua risposta Grazie!

Ho provato la macro "m" e funziona solo che copia anche i campi del Range A6:G27 che non hanno contenuti nelle celle della colonna C, e dovrebbe incollare i Valori(incolla speciale Valori) altrimenti se inserisco una formula in una cella da copiare succede un casotto!

il test articolo univoco nn funziona o sbaglio io qualcosa!

Scusa per il disturbo! Farei una bella figura a lavoro e imparerei qualcosa, mi consigli un testo buono per un principiante di VB !?

Ho approfondito la funzione del "articolo univoco" ed ho notato che il controllo viene effettuato nel foglio Archivio, quindi se in archivio nella cella C5 è presente un valore "aaaaa" quando inserisco in NuovoMaster nella colonna C un valore uguale ad "aaaaa" mi restituisce l'avviso! e funziona, ma mi sono spiegato male anzi non avevo ancora capito come dovesse funzionare: Il controllo deve essere effettuato sulla colonna C del foglio NuovoMaster, Quando inserisco il Valore "aaaaa" in C2 di NuovoMaster se in C1 di NuovoMaster è presente il valore "aaaaa" mi deve restituire l'avviso. Questo serve perchè se inserisco dei valori tipo "62256458979813" in 20 celle consecutive dove la variazione è di 1 o 2 numeri, mi diventa difficile controllare ad occhio se nelle 20 celle precedenti è presente il valore "62256458979813" invece nel foglio Archivio gli articoli non sono unici, ovvero è possibile che due operatori facciano la stesso test e quindi avremo per es. in "archivio" nella cella C5 presente il valore "aaaaa" e nella cella C30 il valore "aaaaa" senza alcun problema! Mi scuso di nuovo se propongo un problema (almeno per me) ostico e ringrazio. Alfredo

Credo che tu abbia risolto in questo post: http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/thread/02fabaa5-f21d-475c-ba84-0c9786f2a854 . Fai sapere se non è così, grazie.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

9 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-10-28T17:48:07+00:00

    Domani a lavoro provo e ti faccio sapere se và, vista la competenza (ho dato uno sguardo) devo darti del Voi (suppongo). Ho letto la macro e non ci ho capito nulla, quelle che scrivo io sono proprio elementari (autodidatta prime armi) cmq spiego meglio cosa si deve cancellare...

    Nel foglio di lavoro "MASTER" ho le colonne A e B che vengono compilate dal mio capo una con la data e l'altra con delle note, ognuno dei suoi dipendenti ha a disposizione un range di 21 righi, da A6 a G27 mi tocca a me, non sempre viene compilato tutto cioè posso compilare ad esempio solo 2 righi e questo vale per tutti i dipendenti fino a 210 righi (10 dipendenti). Quando faccio la copia in "Archivio" devo considerare tutto il range da A6 a G27 (questo per me, poi ti spiego, mi è nato un ulteriore problema) quindi riportare anche le date e le note del capo e poi eliminare le righe che non sono compilate nella colonna "C" .... mentre scrivo rifletto ed in effetti si puo fare anche in modo di copiare solo le righe che hanno le celle della colonna "C" compilate da A6 a G27 dal foglio "MASTER" a "Archivio" nel primo rigo non compilato cosi da non sovrascrivere i dati vecchi! (forse la tua macro gia funziona così) Domani provo!

    L'ulteriore problema che mi è nato è: Nella colonna "B" del foglio "Archivio" ho dei nomi di colori (es. GIALLO, ROSSO etc) e nella colonna "H" ho dei valori (i voti del capo da 1 a 100), devo raggruppare e farne un anteprima e/o una stampa.

    Ordinamento: tutte le righe di uno stesso colore "colonna B" (inserire il colore in un box e cliccare su OK sarebbe il massimo) divisi per voto "colonna H" copiati in un nuovo foglio di lavoro (GruppoColoriXVoto) intestato con i dati relativi al colore contenuti nel foglio "DATI COLORI" RANGE A2:F100  (la colonna A contiene i nomi dei colori le altre colonne i dati A1=ROSSO B1=DATOVARIANTE C1=X 85 Y 92 vr 622, FINO ALLA COLONNA "F" poi in A2=VERDE A3=DATOUNIVOCO etc.).

    esempio:


    |(questi dati da GruppoColoriXVoto)

    |                                                                                    ROSSO Ciclamino

    | DATOVARIANTE    DA X 85 Y 92 vr 622  A X 85 Y 92 vr 689                                         ABBINABILE AL FONDO               DEPOSITO ROMA

    |---------------

     |----------------------(questi dati da"Archivio")

     | VOTO 1

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |  VOTO 2

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     |                                      PRDOTTO 3255493  SENZA 025654  CAPANNONE 8

     | etc.etc

     |........................

    alla fine mi serve sommare in una cella tutti i dati riportati dalla colonna "G" nel mio esempio i numeri 8.

    Spero di non aver chiesto una cosa irrealizzabile, ne di aver creato troppe difficoltà.

    Grazie a te Mauro, per il tempo dedicatomi. A domani !

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-10-28T13:28:49+00:00

    Quello che chiedi è fattibile. Non ho capito però quando vuoi l'avviso. Se inserisco il dato in C6:C27 del foglio NuovoMaster, devo controllare se il dato è già presente in colonna C di Archivio? Grazie.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    Esatto: Quando inserisco i dati nelle celle della colonna C avrei bisogno di un controllo che mi avvisi se gia ho inserito quel dato (Tipo in C6 è scritto PAOLO, se in C200 riscrivo PAOLO mi deve avvisare che gia è presente)

    Grazie per l'interessamento!

    Questo codice nel modulo di codice  *del foglio NuovoMaster* :

    Private Sub Worksheet_Change(ByVal Target As Range)

        Dim rng As Range

        Dim sh As Worksheet

        Dim lRiga As Long

        Set sh = ThisWorkbook.Worksheets("Archivio")

        Set rng = Me.Range("C6:C27")

        If Target.Cells.Count > 1 Then Exit Sub

        If Target.Value = "" Then Exit Sub

        If Not Intersect(rng, Target) Is Nothing Then

            With sh

                lRiga = .Range("C" & .Rows.Count).End(xlUp).Row

                If Evaluate("=COUNTIF(Archivio!C1:C" & lRiga & _

                    "," & """" & Target.Value & """" & ")") > 0 Then

                    MsgBox ("Valore già presente!")

                    Target.Value = ""

                    Target.Select

                End If

            End With

        End If

        Set rng = Nothing

        Set sh = Nothing

    End Sub

    Questo codice in un  modulo standard:

    Public Sub m()

        Dim shNM As Worksheet

        Dim shArc As Worksheet

        Dim lRiga As Long

        With ThisWorkbook

            Set shNM = .Worksheets("NuovoMaster")

            Set shArc = .Worksheets("Archivio")

        End With

        lRiga = shArc.Range("A" & Rows.Count).End(xlUp).Row + 1

        With shNM

            .Range("A6:G27").Copy Destination:=shArc.Range("A" & lRiga)

        End With

        Set shNM = Nothing

        Set shArc = Nothing

    End Sub

    Come funziona. Quando inserisci i valori in colonna C del foglio NiovoMaster, quando passi alla cella successiva controllo quello che hai inserito. Se è già presente in colonna C del foglio Archivio, ti avverto con una MsgBox, cancello il dato e ti riporto sulla cella. Quando hai finito gli inserimenti, esegui la macro m. Per eseguirla hai modi diversi. Il più semplice è assegnarle un tasto di scelta rapida. Come fare per inserire il codice nei vari moduli e come lanciare una macro( anche assegnando un tasto di scelta rapida), lo trovi qui: http://www.maurogsc.eu/excel/xlsdoveinserirecodice.aspx . Non ho capito poi cosa devo eliminare. Intanto prova questa soluzione epoi da lì andiamo avanti. Grazie per l'attenzione.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-10-28T11:03:51+00:00

    Quello che chiedi è fattibile. Non ho capito però quando vuoi l'avviso. Se inserisco il dato in C6:C27 del foglio NuovoMaster, devo controllare se il dato è già presente in colonna C di Archivio? Grazie.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    Esatto: Quando inserisco i dati nelle celle della colonna C avrei bisogno di un controllo che mi avvisi se gia ho inserito quel dato (Tipo in C6 è scritto PAOLO, se in C200 riscrivo PAOLO mi deve avvisare che gia è presente)

    Grazie per l'interessamento!

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-10-28T10:49:03+00:00

    Aiuto... Ho due fogli di lavoro:1)NuovoMaster (dove inserisco dati in c6:g27 , nelle colonne "A e B" ci sono dati tipo data) e 2) Archivio. Vorrei copiare, usando una macro o altro, i dati del range A6:G27 da "NuovoMaster" a "Archivio" inserendo i dati nel primo rigo vuoto, eliminando poi le righe che hanno i dati nelle colonne "A e B" e i campi delle colonne C D E F G vuoti.

    Vi ringrazio anticipatamente!

    Quando inserisco i dati nelle celle C6:C27 di "NuovoMaster" è possibile avere un avviso tipo "articolo gia presente nella colonna" ?

    Quello che chiedi è fattibile. Non ho capito però quando vuoi l'avviso. Se inserisco il dato in C6:C27 del foglio NuovoMaster, devo controllare se il dato è già presente in colonna C di Archivio? Grazie.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento