Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel: spostare intervallo celle da un foglio all'altro

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

Excel: spostare intervallo celle da un foglio all'altro

Postdi valentina.accomando » 12/01/17 22:38

Buona sera,
volevo sapere se fosse possibile spostare un intervallo di celle dal foglio 1, al foglio 2, presso determinate celle che prestabilisco io.

Ho provato a chiedere in giro ma nessuno è riuscito a darmi una risposta.

Vi allego un file per capire meglio.

https://we.tl/SvSCyIWsax

vorrei poter avere un comando prestabilito per spostare l'intervallo di celle evidenziato nei diversi colori, dal foglio 1 al foglio 2.
valentina.accomando
Utente Junior
 
Post: 22
Iscritto il: 11/01/17 14:17

Sponsor
 

Re: Excel: spostare intervallo celle da un foglio all'altro

Postdi Anthony47 » 13/01/17 00:57

Nell'ipotesi che il concetto sia di spostare un'area selezionata sul Foglio1 in Foglio2, accodandola all'ultimo record compilato su Foglio2, ti aiutera' questa macro:
Codice: Seleziona tutto
Sub MoveBlk2()
Dim TRow As Long, TCol As Long, I As Long
Dim dSh As Worksheet, lastR As Long, lastC As Long
'
Set dSh = Sheets("Foglio2")         '<<< Il foglio di Destinazione
'
On Error Resume Next
lastR = dSh.Range("A:H").Find(What:="*", After:=[A1], _
              SearchOrder:=xlByRows, _
              SearchDirection:=xlPrevious).Row
On Error GoTo 0
If lastR = 0 Then lastR = 2
With Selection
If .Count < 8 Then
    MsgBox ("La selezione sembra troppo limitata, operazione abortita")
    Exit Sub
End If
    TRow = lastR
    For I = 1 To .Rows.Count
        TCol = dSh.Cells(lastR, Columns.Count).End(xlToLeft).Column + 1
        .Offset(I - 1, 0).Resize(1).Copy dSh.Cells(TRow, TCol)
    Next I
    .Clear
End With
End Sub

Eventualmente assegnale un tasto di scelta rapida.

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

Re: Excel: spostare intervallo celle da un foglio all'altro

Postdi valentina.accomando » 13/01/17 10:36

Il comando era quello che mi serviva. L'unica cosa è che invece di spostarmela nella riga che mi serve, me lo sposta nella riga prima.

Ti spiego:

Avrei bisogno iniziasse ad incollarmi gli intervalli nella cella evidenziata in giallo, perchè è sempre la prima colonna in cui inizierò ad incollare l'intervallo:
https://we.tl/6sNf4Wcoyp

Invece me lo sposta sempre alla fine della riga selezionata nello screenshot, nonostante io abbia già iniziato ad inserire i dati nella riga di interesse:
https://we.tl/HpEe5ehIFI
valentina.accomando
Utente Junior
 
Post: 22
Iscritto il: 11/01/17 14:17

Re: Excel: spostare intervallo celle da un foglio all'altro

Postdi Anthony47 » 13/01/17 15:58

La macro identifica l'ultima riga occupata guardando le colonne A:H; quindi, se le immagini pubblicate corrispondono al foglio dichiarato come "destinazione", la macro dovrebbe incollare i dati a partire dalla cella E20, come mi pare tu vorresti.
Hai copiato e incollato il codice o l'hai trascritto? Hai adattato la riga marcata <<<?

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

Re: Excel: spostare intervallo celle da un foglio all'altro

Postdi valentina.accomando » 13/01/17 16:53

Ho copiato e incollato. Ogni volta che cercavo di adattare la riga mi dava error,e quindi ho definito "Foglio2" il foglio di destinazione.
La macro funziona, solo che invece di mettermi il contenuto nella cella E20, me lo mette in coda a tutto il resto nella riga A.
valentina.accomando
Utente Junior
 
Post: 22
Iscritto il: 11/01/17 14:17

Re: Excel: spostare intervallo celle da un foglio all'altro

Postdi Anthony47 » 14/01/17 00:59

Ho preso il tuo file Database.xlsx
Sul foglio DATABASE ho inserito tre voci in A6-B6-C6
Immagineupload immagini

In un modulo nuovo del vba ho inserito il codice della Sub MoveBlk2
Poi ho sostituito nella riga marcata <<< la voce Foglio2 con DATABASE:
Codice: Seleziona tutto
Set dSh = Sheets("DATABASE")         '<<< Il foglio di Destinazione

Sono andato sul foglio CTR e ho selezionato un'area a caso: A3:R11
Immagineimage share

Ho avviato la Sub MoveBlk2

Il risultato ottenuto su foglio DATABASE e' questo:
Immaginehost immagini
Come vedi le righe selezionate sono state posizionate sull'ultima riga presente sul foglio di destinazione, da D6 verso destra (si vedono le prime due righe; le altre 7 seguono verso destra fino alla colonna AM6)

Se ho capito bene e' il risultato che vuoi ottenere tu.

Tu che operazioni hai eseguito, visto che ottieni un risultato diverso?
Avatar utente
Anthony47
Moderatore
 
Post: 17646
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Excel: spostare intervallo celle da un foglio all'altro":


Chi c’è in linea

Visitano il forum: Nessuno e 54 ospiti