Trascinare riga in mezzo ad altre senza sovrascrivere

di il
6 risposte

Trascinare riga in mezzo ad altre senza sovrascrivere

Bns a tutti voi e Buon TuttiSanti. Sto riorganizzando un file excel dove ad ogni riga è inserita una cosa da fare, senza riferimenti di data e/o orario.

Nel caso ci siano variazioni vorrei anticipare o posticipare l'attività indicata nella riga e quindi la seleziono e trascino in basso o in alto ma quando trovo il posto dove inserirla, excel mi chiede di sovrascrivere le celle, mentre invece non devo cancellare i dati inseriti in quella riga ma dovrei “ fare posto ” inserendo una riga vuota ed incollare i dati che ho trascinato. Contestualmente si dovrebbe eliminare la riga che ho lasciato vuota…..una specie di “ Simil Trello ”

Ho utilizzati registratore di macro che ovviamente suggerisce il codice, ma per le tre azioni distinte e sopra tutto legate in modo assoluto ad un range selezionato mentre questo automatismo ( se possibile ) dovrebbe agire solo sulla riga scelta per incollare la riga trascinata……

Temo che si debba entrare nel campo delle variabili che sono le mie “ bestie nere ” in merito alle mie conoscenze del VBA, ma forse grazie a voi mi possono far meno paura…

Grazie a chi mi può fare chiarezza

Cassiopea

PS: Non posto file esempio che sarebbe imbarazzante, dovrebbe essere chiaro anche cosi……

6 Risposte

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    Non capisco se non riesci a farlo manualmente sul foglio o non riesci col VBA

    Comunque forse ti può essere utile questo

    https://support.microsoft.com/en-us/office/move-or-copy-cells-rows-and-columns-3ebbcafd-8566-42d8-8023-a2ec62746cfc#:~:text=Cut%20and%20insert%20Hold%20down,the%20border%20of%20the%20selection.

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    Ciao

    seleziona la riga e tagliala

    poi  seleziona la riga sotto a dove vuoi inserire la riga tagliata

    click destro

    inserisci celle tagliate

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    Ciao andreapev, ok grazie faccio mia la tua risposta per spiegarmi meglio. La funzione è quella che hai descritto però vorrei farlo totalmente in automatico…..

    Seleziono la riga, la taglio, la inserisco sopra o sotto un altra riga….ma tramite macro attiva sul foglio. Senza passare per il menu tasto destro. Se faccio la registrazione macro mi vale solo per la riga che ho selezionato…..mentre invece dovrei avere questa funzionalità in qualsiasi riga del foglio ed inserire la riga in un altra qualsiasi riga….

    Grazie per il supporto.

    Cassiopea

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    E come dovrebbe conoscere sorgentee destinazione il codice vba se non li selezioni con il mouse?  

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    Ciao Oregon, in pratica questa è l'operazione che devo fare :

    Range("A12:E12").Select
       Selection.Cut
       Range("A7").Select
       Selection.Insert Shift:=xlDown

    Con il mouse seleziono il range che devo spostare e (dopo aver fatto ulteriori valutazioni) mi sta bene che inserisce le celle copiare sempre nel range A7

    E come se ci fosse una file di persone in coda ed io prendo per mano il terzo della fila e lo porto al primo posto.

    L'automatismo che vorrei implementare è per evitare di usare il tasto destro per :

    1. selezionare il Range A7
    2. cliccare su “ Inserisci celle tagliate”

     ma selezionare un Range di celle o una cella qualsiasi del foglio e poi cliccare su un bottone che esegue i punti 1 e 2

    Spero di essere riuscita a farmi capire…….

    Grazieee

    Cassiopea

  • Re: Trascinare riga in mezzo ad altre senza sovrascrivere

    Ciao

    se ho capito

    in un modulo

    Sub taglia()
    Set myrange = Application.InputBox("Seleziona le righe ...", Type:=8)
    myrange.EntireRow.Cut
    Cells(7, 1).Insert Shift:=xlDown
    End Sub

    crea un pulsante e collegalo alla macro

Devi accedere o registrarti per scrivere nel forum
6 risposte