Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Selezione tramite flag e copia

Ultimo Aggiornamento: 29/07/2019 16:53
Post: 2
Registrato il: 20/07/2019
Città: RIETI
Età: 47
Utente Junior
2013
OFFLINE
20/07/2019 08:51

Buongiorno, mi serve una aiuto per fare un operazione su due fogli.
Vi spiego:
Foglio1 su colonna A vorrei mettere un box di selezione con spunta, colonna B del testo.
Una volta selezionate le spunte del testo adiacente di interesse copiare il testo e incollarlo in foglio 2 tramite un pulsante con la funzione incolla speciale (mantieni larghezza colonne origine M)

Spero di essere stato chiaro grazie.
[Modificato da BValerio 20/07/2019 15:04]
Post: 4.164
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
20/07/2019 11:20

allega un file di esempio con anche il risultato desiderato

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 2
Registrato il: 20/07/2019
Città: RIETI
Età: 47
Utente Junior
2013
OFFLINE
20/07/2019 15:08

File caricato grazie. [SM=x423017]
Post: 834
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
29/07/2019 16:53

Puoi usare questa macro come base di partenza per proseguire nel tuo progetto; la devi mettere in un modulo standard ed associarla al pulsante che hai nel Foglio1.
La macro cicla tutti i Check disponibili e se lo trova flaggato riporta il testo della cella accanto nel Foglio2.
Non vi sono controlli particolari pertanto è richiesto che le righe univoche di testo siano progressive (ovvero, senza testo su due righe o righe vuote).
Option Explicit

Sub CopiaTesto()

    Dim chkbx  As CheckBox
    Dim r      As Long
    Dim LR     As Long

    r = 2                                                       'i check iniziano da riga 2
    For Each chkbx In ActiveSheet.CheckBoxes                    'cicla tutti i CheckBox
        If chkbx.Value = 1 Then                                 'se il check ? selezionato
            With Worksheets("Foglio2")
                LR = .Range("B" & Rows.Count).End(xlUp).Row + 1 'rileva la prima riga libera nel Foglio2
                If LR < 3 Then LR = 3                           'la prima riga deve essere la 3
                .Range("B" & LR & ":B" & LR) = Worksheets("Foglio1").Range("B" & r).Value 'copia da Foglio1
            End With
        End If
        r = r + 1                                               'incrementa la riga dei check/testo
    Next
    
End Sub

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 13:23. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com