Condividi:        

Intervalli non contigui incolla da un foglio ad un 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

Intervalli non contigui incolla da un foglio ad un altro

Postdi papiriof » 12/05/23 10:06

buongiorno a tutti
Devo incollare sul foglio "DOVE" 2 intervalli non contigui prelevati dal foglio "Archi"
il primo intervallo che prelevo sul foglio "Archi" è SEMPRE costituito da 90 righe della col"C" (col 3) a salire
ES se indico C230 il primo interv da copiare sarà C141:C230 quindi il dato che dovrei sempre indicare sarà 230,162 188 ecc
Il secondo intervallo che prelevo sul foglio "Archi" è formato da 5 colonne in questo caso non devo indicare la partenza perchè
sarà SEMPRE al primo intervallo ma devo indicare l'inizio della colonna all'uopo ho un intervallo nominato "inizru" che è questo
4 BA
9 CA
14 FI
19 GE
24 MI
29 NA
34 PA
39 RO
44 TO
49 VE
54 NZ
In sostanza il primo intervallo è costituito da date il secondo da 90 estrazioni di una determinata ruota nel caso dell'esempio se
scelgo CA il secondo intervallo sarà I141:M230 (I è la 9^ col)
Spostiamoci dove andranno ad essere incollati i due intervalli nel foglio "DOVE" e qui il primo intervallo (le date) andranno
a piazzarsi su "A2" mentre il sec intervallo il C2:G91 Sempre
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 408
Iscritto il: 16/02/10 13:23

Sponsor
 

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi papiriof » 13/05/23 08:46

In alternativa alla richiesta #1 dato che l'intervallo da cambiare consiste nel cambiare ruota velocemente adesso l'intervallo in questione è strutturato così:
Data 10142 estr_1 estr_2 estr_3 estr_4 estr_5
4/10/22 1 38 84 22 32 4 CERCA.X($A2;Archi!C:C;Archi!D:D)
6/10/22 2 29 2 3 27 11
8/10/22 3 85 51 66 45 4
11/10/22 4 79 39 20 51 52
13/10/22 5 75 15 67 54 52
come si vede (scuate l'impaginazione) con cercaX mi basta cambiare solo la colonna della data e tutto va a posto ma solo limitatamente alla ruota impostata ! per cambiare la ruota adesso faccio 5 trova e sostituisci per ogni colonna.Il primo numero(38) che adesso è BA per cambiare ruota ad es CA.... evidenzio tutta la colonna C e faccio "Trova D:D e Sostituisccon I:I "I" infatti è la prima colonna di CA nel foglio Archi operazione che bisogna fare per gli altri numeri. Insomma mi interessa cambiare velocemente la ruota o con una macro o con una casella di controllo : in tutti e due i casi mi serve di vedere quale ruora sto mettendo in esame.
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 408
Iscritto il: 16/02/10 13:23

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi Anthony47 » 16/05/23 21:02

Sono stato in giro per qualche giorno, volutamente senza pc quindi senza possibilità di scrivere cose sensate.

Non so se nel frattempo hai risolto, volendo comunque proporre qualcosa nonostante la vaghezza delle modalità operative ti propongo una userform:
1) scarica questi due file, descrittivi di una userform:
UserFormPap.frm, https://www.dropbox.com/s/wuxhsnb1zgu7p ... p.frm?dl=0
UserFormPap.frx, https://www.dropbox.com/s/2zoxg1ccnlhpk ... p.frx?dl=0

2) apri il progetto vba del tuo file e importa il file UserFormPap.frm:
-dalla finestra vba, Menu /Importa /File; scegli UserFormPap.frm dalla directory in cui hai scaricato i file, completa con Ok

Ora dovresti trovare visibile nel tuo progetto una "UserForm1"

3) In un Modulo standard del vba (lo crei tramite Menu /Inserisci /Modulo) inserisci quest macro
Codice: Seleziona tutto
Sub StartUF()
Sheets("Archi").Select
UserForm1.Show
End Sub

Torna su Excel e lancia la Sub StartUF (per le opzioni principali per avviare una macro vedi viewtopic.php?f=26&t=103893&p=647678#p647678):
-ti sarà visualizzata una Form
Immagine

-seleziona il controllo con l'etichetta "Termine" e poi seleziona sul foglio la cella in cui vuoi che l'intervallo data termini (oppure scrivici direttamente l'indirizzo, es C130)
-vai sul secondo controllo e seleziona la ruota desiderata

A questo punto se premi il pulsante COPIA dovrebbe avvenire la copia verso il foglio DOVE degli intervalli desiderati

Non conoscendo le modalità operative migliori per te dopo la copia la userform viene chiusa
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi papiriof » 18/05/23 08:45

Grazie Anthony , sono riuscito a fare il desiderato, chiedo ho scaricato due userform di cui l'ultimo l'ho messo in un modulo il primo allora a che serve? Perchè funziona tutto.....l'unica cosa nel foglio "DOVE "non mette le etichette nella riga 1 per cui non so , a colpo d'occhio,in che ruota mi trovo. Poca cosa perchè l'ho appena scelta e in effetti la so. le etichette interessate sono la Data e la ruota adesso contrassegnate così nell'archivio Ba1 Ba2 Ba3 Ba4 Ba5
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 408
Iscritto il: 16/02/10 13:23

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi papiriof » 18/05/23 16:05

Anthony, se si può fare... siccome sul foglio DOVE avevo impostato una formattazione condizionale sui valori dell'intervallo C2:H91(ossia l'intervallo che le Private sub mi trasportano dall' archivio a Dove ma questa operazione mi cancella la formattazione condizionale, Si potesse mandare i valori dell'intervallo scelto /cpiato/incollato .....
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 408
Iscritto il: 16/02/10 13:23

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi Anthony47 » 18/05/23 18:43

Quando importi il file .frm anche l’analogo .frx viene importato "a traino"

Per mantenere la formattazione:
-vai nel vba, clicca sul lato sx sulla voce UserForm1 per vedere la userform (nell’area normalmente destinata al codice)
-premi F7 per vedere il codice associato alla userform
-cerca la Private Sub CommandButton1_Click, e sostituisci, verso il fondo, la riga rPos.Offset(0, wCol).Resize(, 5).Copy Sheets("DOVE").Range("C2") con
Codice: Seleziona tutto
Sheets("DOVE").Range("C2").Resize(rPos.Rows.Count, 5).Value = rPos.Offset(0, wCol).Resize(, 5).Value

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Intervalli non contigui incolla da un foglio ad un altro

Postdi papiriof » 18/05/23 19:35

Ancora una volta tutto apposto!!! :eeh: :eeh: :eeh: Forse per te sarà semplice ma mi sorprendi sempre per velocità e la facoltà di capire le richieste. Grazie!!
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 408
Iscritto il: 16/02/10 13:23


Torna a Applicazioni Office Windows


Topic correlati a "Intervalli non contigui incolla da un foglio ad un altro":


Chi c’è in linea

Visitano il forum: Milanooooo e 12 ospiti