Condividi:        

spostare / copiare casella di controllo spuntata

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

spostare / copiare casella di controllo spuntata

Postdi allen747 » 04/05/11 15:46

Buongiorno a tutti,
ho una problema che spero si possa risolvere.
In un file Excel 2007, ho elenco di voci con a fianco di ognuna una casella di controllo.
Mi piacerebbe che le voci spuntate venissero importate/copiate in un altro foglio di excel e che vadano a rimpire
le righe in automatico senza lasciarne di vuote.
Spero di essere stato abbastanza chiaro !

Il layout dei miei dati:
Immagine

Uploaded with ImageShack.us


Ale
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38

Sponsor
 

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 04/05/11 22:21

Ciao allen747, benvenuto nel forum.
Se sei in tempo a cambiare approccio, suggerirei delle "finte" caselle di controllo, come scrissi qui: viewtopic.php?p=373050
Poiche' le finte caselle di selezione contengono 0 oppure 1 potrai a quel punto usare il filtro automatico per selezionare le righe "spuntate" e copiarle tutte insieme in altro foglio; anche con una macro autoregistrata.

Se vuoi continuare con il vero checkbox, ti farai una macro che include un ciclo come questo (preso dall' help on line del vba):
Codice: Seleziona tutto
For Each s In Worksheets("Foglio2").Shapes      '<<< Il nome foglio
    If s.Type = msoFormControl Then
        If s.FormControlType = xlCheckBox Then
            If s.ControlFormat.Value = 1 then
'
'Le istruzioni per identificare la riga della casella di controllo e copiare il contenuto adiacente
'
            End If
        End If
    End If
Next

All' interno del loop, identifichi la riga su cui giace la casella di controllo (l' angolo top-left), propedeutico per la copia dei dati "adiacenti", con una istruzione di questo tipo:
Codice: Seleziona tutto
CCRow = s.TopLeftCell.Row

Se con questo spunto non risolvi, pubblica il layout dei tuoi dati (per come fare vedi qui: viewtopic.php?f=26&t=80395) e spiega dove ti sei arenato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 06/05/11 00:47

Ho inserito nel tuo primo messaggio il layout dei dati su cui lavori.

Cosi' come sono, puoi lavorare sul suggerimento del filtro automatico, che applicherai su D20 e sottostanti; filtrando per VERO saranno selezionate solo le righe che hanno il checkbox spuntato; quindi potrai copiarle e incollarle nel foglio di riepilogo.
Imposta il filtro automatico come detto e poi registra una macro mentre:
-filtri col D per il valore VERO
-copi i dati che ti interessano della tabella filtrata
-Incolli speciale /Valori sul foglio di riepilogo
-elimini l' effetto del filtro tramite Menu /Dati /Filtro /Mostra tutto
-vai su foglio Modulo
-interrompi la registrazione

Crea quindi un pulsante (trovi questa forma nella barra degli strumenti Moduli), chiamalo ad esempio Crea Modulo, e assegnagli la macro appena creata (ti sara' chiesto quale macro vuoi associare al pulsante).
In questo modo bastera' premere il pulsante per creare su foglio Modulo la copia dei dati che hai spuntato.

E se non risolvi, posta ancora spiegando dove ti sei arenato

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi allen747 » 08/05/11 19:33

Forse mi sono speigato male .
La mia esegenza è quella di utlizzare il file per fare dei preventivi.
Nel folgio 2 andrò a selezionare di volta in volta ila manodopera e i i ricambi che mentre nel foglio "modulo" vorrei che i dati selezionati comparissero in modo da poter stampare un preventivo solamente con i servizi scelti.
Purtroppo per le capacità che ho io ,nel modulo mi compaiono tutti i servizi anche quelli non spuntati.
Ho provato con varie macro trovate in rete ma non ci sono riuscito.
Ho paura che sia troppo cpmlicato.
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 08/05/11 21:59

Ho provato con varie macro trovate in rete ma non ci sono riuscito.
Ma hai provato col filtro automatico + la macro autoregistrata, come suggerito?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi allen747 » 08/05/11 22:45

si .
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 08/05/11 23:02

E dove ti sei arenato?
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi allen747 » 09/05/11 09:07

Cuai Anthony, innanzitutto grazie per la pazienza e la collaborazione.
Quando eseguo il filtro i dati della colonna c non corrispondo alla colonna a.
Inoltre ho necessità di avere tenere separati l'lelenco della manodopera da quelli dei ricambi ma eseguendo il filtro i due elenchi vengono inseriti insieme.
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 09/05/11 13:59

Ma anche col filtro automatico puoi separare a da b; basta sapere dove incollare a e dove b...
Comunque, ti va bene lavorare col foglio che hai gia' realizzato, salvo che al momento della stampa di Modulo nascondi le righe contenenti "0"?
Per questo:
-Tasto dx sut tab col nome Modulo
-Scegli Visualizza codice; ti si apre l' editor delle macro
-Copi questo codice e lo incolli nel frame presumibilmente bianco di dx
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Call MostrAll
End Sub

-nel frame Progetto - VBAProgetto a sx, doppioclick sulla voce ThisWorkbook (se non trovi questo frame, Menu /Visualizza /Gestione progetti)
-Copi questo codice e lo incolli nel frame presumibilmente bianco di dx
Codice: Seleziona tutto
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For I = 1 To Cells(Rows.Count, "C").End(xlUp).Row
If Not IsEmpty(Cells(I, "C").Value) And _
    Cells(I, "C") = 0 Then _
    Cells(I, "C").EntireRow.Hidden = True
Next I
End Sub

-Sempre nell' editor delle macro, Menu /Inserisci /Modulo
-Copi questo codice e lo incolli nel frame presumibilmente bianco di dx
Codice: Seleziona tutto
Sub MostrAll()
Range("1:1000").EntireRow.Hidden = False
End Sub


Torna su excel e assegna alla casella combinata che hai in B5 (usa tasto dx) la macro MostrAll.
A questo punto prova a eseguire una stampa (basta una Anteprima); le righe vuote dovrebbero essere nascoste, saranno nuovamente visibili o quando modifichi la targa tramite la casella combinata oppure quando riattivi foglio Modulo, ad esempio dopo aver manipolato i dati in Ricambi o Foglio2.

Per quanto riguarda la stampa della casella combinata, la cosa piu' logica e' che non usi la casella combinata, ma una semplice cella con convalida; in questo caso la macro che prima ti ho fatto assegnare alla casella combinata la inserirai invece in una macro di Worksheet_Change.
Una soluzione logicamente meno lineare ma forse piu' semplice da realizzare: lasci la casella combinata e metti in B5 una formula simile a quella che ora hai in B4 per visualizzare la targa (lavori cioe' su col B di InsRicambi); poi nelle proprieta' della casella combinata (tasto dx, scelta Formato controllo, tab Proprieta') togli l' opzione "Stampa oggetto".

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi allen747 » 10/05/11 07:40

Grande Antonhy, fantasico . Grazie mille.
Un'ultima info se puoi :
Per poter eseguire questa operazione direttamente dal Foglio2, che tipo di modifica devo apportare alle macro ?
In poche pariole vorrei visualizzare direttamente l' anterprima di stampa dal foglio 2 dopo aver modificato spuntato i lavori da eseguire.

Grazie ancora, sei stato veramente gentile.
Ale
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38

Re: spostare / copiare casella di controllo spuntata

Postdi Anthony47 » 10/05/11 15:16

Poiche' la casella combinata per la scelta del modulo da stampare e' su foglio Modulo non mi e' chiara la modalita' di lavoro che vorresti adottare.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: spostare / copiare casella di controllo spuntata

Postdi allen747 » 10/05/11 16:41

Ciao, vorrei evitare di passare da un foglio all'altro e riuscire a gestire la stampa o l'anteprima direttamente dal foglio2
allen747
Utente Junior
 
Post: 13
Iscritto il: 04/05/11 15:38


Torna a Applicazioni Office Windows


Topic correlati a "spostare / copiare casella di controllo spuntata":


Chi c’è in linea

Visitano il forum: Nessuno e 74 ospiti