Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [excel] macro per incolla speciale su colonna variabile

    vorrei creare una macro che mi andasse ad incollare in una precisa cella di colonna dei dati, la colonna pero deve cambiare tutte le volte che cambia un preciso valore imputato in una altra cella
    allego l'esempio epr farmi capire
    a seconda del valore che assumera D3 si adovra andare ad incollare i valori della selezione O4:O12 nell'intervallo D412 se D3 sarà uguale ad 1 e cosi via

    grazie x l'aiuto
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    paolo... capito niente...

  3. #3
    grazie per il tentativo di aiuto (mi hai già risolto un prec. problema)
    allora vorrei incollare i valori presenti nell'intervallo O4:O12 sotto la cella che riporta sopra il numero 1 quando nella cella D3 che appunto il numero 1, se invece è presente il n.2 vorrei incollarli sotto la cella che riporta il numero 2 e cosi via, vorrei pero incollare solo i valori e non tutto,

    qualcosa del genere se(b3=1 allora incolla speciale O4:O12 in D412,se(b3=2 allora incolla speciale O4:O12 in E4:e12, ecc ecc

    io sono del tutto bloccato

  4. #4
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    boh, vediamo se ho capito:

    devo fare un copiaincollaspecialevalori delle celle o412
    dove?
    dipende dalla cella D3

    se D3 è 1 la incollo in D4
    se D3 è 2 in E4
    se D3 è 3 in F4
    ...

    così via...
    ho capito bene?

  5. #5
    devo fare un copiaincollaspecialevalori delle celle o412
    dove?
    dipende dalla cella D3

    se D3 è 1 la incollo in D4
    se D3 è 2 in E4
    se D3 è 3 in F4
    esatto è quello che vorrei fare ed i dati dovrebbero rimanare incollati ossia non variare piu dopo essere stati inviati alla colonna corretta

  6. #6
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    tiè, inserisci un pulsante nel foglio e aggiungi questa macro: è una possibile soluzione:

    codice:
    Private Sub CommandButton1_Click()
    
    
        matrice = Array("D4", "E4", "F4", "G4", "H4", "I4", "J4", "K4", "L4", "M4")
        valore = ActiveSheet.Cells(3, 4)
        
        Range("O4:O12").Select
        Selection.Copy
        Range(matrice(valore - 1)).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        
    End Sub
    spero faccia al caso tuo
    ciao ciao

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da luck
    tiè, inserisci un pulsante nel foglio e aggiungi questa macro: è una possibile soluzione:

    codice:
    Private Sub CommandButton1_Click()
    
    
        matrice = Array("D4", "E4", "F4", "G4", "H4", "I4", "J4", "K4", "L4", "M4")
        valore = ActiveSheet.Cells(3, 4)
        
        Range("O4:O12").Select
        Selection.Copy
        Range(matrice(valore - 1)).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        
    End Sub
    spero faccia al caso tuo
    ciao ciao
    Ci stavo provando anch'io ma vedo che mi hai anticipato di un pezzo.
    Posto comunque la mia soluzione che è praticamente identica alla tua.
    Ciao luck.

    codice:
    Option Base 1
    
    Sub incollaspec()
    indice = Array("d", "e", "f", "g", "h", "i", "l", "m")
    ActiveSheet.Range("D4:M12").Select
    Selection.ClearContents
    ActiveSheet.Range("O4:O12").Select
    Selection.Copy
    copia = ActiveSheet.Range("b3").Value
    ActiveSheet.Range(indice(copia) & "4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub

  8. #8
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    ciao Nicola... oggi abbiamo latitato, eh?

    comunque, caro Paolo, non hai che l'imbarazzo della scelta ora...
    notte a tutti coloro che dormiranno...

    L.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da luck
    ciao Nicola... oggi abbiamo latitato, eh?
    Ogni tanto pretendono pure che lavori
    ... e mi si era pure f.....o l'hard disk del mio pc di casa

  10. #10
    allora:
    la macro di luck funziona solo nel primo click ossia incolla giusto nella prima colonna am se poi cambi numero nella cella di riferimento non incolla nelle successive colonne corrispondenti
    la macro di nicola invece incolla sempre sotto la colonna corretta in base al numero di riferimento pero cancella i dati in precedenza inseriti nell'incolla precedente mentre la mia esigenza sarebbe quella di mantenere il precedente inserimento

    edit: ho cancellato il comando Selection.ClearContents e adesso mantiene il dato in precednza inserito, resta solo un dettaglio che non capisco; se nella cella di riferimento c'è il n.1 va ad incollare nella colonna di riferimento con il n.2 infatti per avere i dati nella prima colonna si deve inserire il numero zero B3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.