Condividi:        

macro variabile cella foglio1 in fogli corrispondenti

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

macro variabile cella foglio1 in fogli corrispondenti

Postdi salatony » 08/11/13 22:24

Ciao a tutti,
perfavore riuscite A risolvermi questo problema? vi spiego
in un file excel nel foglio1 alla cella S20 ci possono essere 3 nomi inseriti manualmente es. alfa- beta- gamma, questi tre nomi sono anche i corrispondenti fogli 2-3-4 rinominati alfa-beta-gamma, il punto è questo,
avrei bisogno di una macro che secondo il nome che compare nel foglio1 in cella S20, mi dovrà copiare le celle T20 E20 B20 del foglio1 (IN QUESTO ORDINE) nel foglio corrispondente al nome che si evidenzia nella cella S20, e nell'ultima riga libera della colonna A, nel foglio corrispondente aperto (es.in S20 c'è alfa apre foglio alfa, copia T20 E20 B20 nell'ultima riga libera della colonna A, poi aggiorna dati in in ordine ascendente delle colonne A ad D con riferimento A, e infine torna a foglio1
spero di essere stato chiaro, ringrazio
tonysala
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Sponsor
 

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi Anthony47 » 09/11/13 00:28

Ciao salatony, benvenuto nel forum.
Puoi usare una macro come questa:
Codice: Seleziona tutto
Sub pertony()
With Sheets(Range("S20").value)
    myLast=.Cells(Rows.count,"A").End(xlup).row +1
    .Cells(myLast,1).Value=range("T20").value
    .Cells(myLast,2).Value=range("E20").value
    .Cells(myLast,3).Value=range("B20").value
End With
Sheets(Range("S20").value).Select
'
' QUI il codice per ordinare il foglio
'
Sheets("Foglio1").Select
End Sub

Puoi ottenere il codice necessario a fare l' ordinamento registrando una macro mentre fai quelle operazioni tramite comandi manuali; poi copi le righe ottenute (eccetto Sub Titolo /End Sub) nello spazio indicato prima.
Uso:
-da Excel, Alt-F11 per aprire l' editor delle macro
-Menu /Inserisci /Modulo
-Copi il codice e lo incolli nel frame di dx
Torni su excel e registri la macro per ordinare il foglio target (uno qualsiasi); aggiungi il codice ottenuto.
Sempre da Excel lanci la macro pertony: Alt-F8, selezioni la macro dall' elenco che ti propone, premi Esegui

Eventualmente crea in Foglio1 un pulsante (trovi questa forma nella barra degli strumenti Moduli) e assegnagli la macro "pertony" (ti verra' fatta una domanda specifica nel ciclo di creazione del pulsante).
In questo modo potrai eseguire la macro al semplice premere del pulsante

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi salatony » 11/11/13 19:55

ciao,
ho copiato il listato (senza aggiunte) all'interno della nuova macro, nel file contenente il Foglio1 e gli altri fogli rinominati (alfa beta gamma), ho provato a variare la cella S20 del Foglio1 con i nomi alfa beta gamma, ogni volta eseguendo la macro,
ma ogni volta mi da : errore di run-time "9",
ho provato ha cercare la tipologia dell'errore ma non mi è servito,
ho notato che nel listato non vengono menzionati i nomi dei fogli che dovrebbero aprirsi, quando un nome di questi si presentasse nella cella S20 (con il go della macro),
puoi verificare, grazie
ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi Anthony47 » 11/11/13 23:31

Nella mia soluzione avevo suggerito di inserire un pulsante su Foglio1 per avviare la macro, essendo Foglio1 (per tua descrizione) il foglio di cui esaminare la cella S20 e poi copiare T20, E20, e B20. Quindi le istruzioni sono relative o al foglio puntato da S20 o a Foglio1, o comunque il Foglio attivo su cui si trovano le celle S20, T20, E20, B20.

Visto il codice di errore, la mia impressione e' che i nomi indicati in S20 non corrispondano ai nomi dei fogli; se dici su quale riga si manifesta l' errore potrei suggerire qualche verifica.

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

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi salatony » 12/11/13 19:00

ciao
ti confermo quello che hai detto, cioè i nomi creati nella cella S20 non corrispondevano ai fogli da aprire,
inizialmente ho fatto un copia/incolla del nome (es. alfa) nella cella S20, attivavo la macro ma dava errore:
With Sheets(Range("S20").value)
poi ho notato che se RISCRIVO la parola alfa nella cella S20, attivo la macro, il tutto è PERFETTO
(ho confrontato i valori dei font, tra il copia/incolla e la parola alfa riscritta nella cella S20,
ma non ho notato differenze)
ciao
grazie
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi Anthony47 » 13/11/13 00:04

Mi sembra che tu dica: se SCRIVO il nome nella cella e' tutto ok; se invece COPIO (da dove?) lo stesso valore e lo incollo nella cella allora ho l' errore. In questo caso allora e' probabile che i valori "sembrano" uguali, ma non lo siano.
Per pura curiosita', scrivi "alfa" in una cella; poi in un' altra scrivi la formula =(LaCellaDoveHaiScrittoAlfa=L'AltraCellaCheContieneAlfa) e verifica il risultato; se e' Falso allora devi solo esaminare bene i singoli caratteri delle stringhe per trovare la piccola differenza.

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

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi salatony » 14/11/13 13:34

ciao
ho fatto come hai detto, nella cella vuota S17 ho scritto alfa, nella cella S16 ho inserito la formula =(S17=S20), risultato falso (la formula rimane in evidenza), cercherò nei caratteri
per il momento ti ringrazio
ciao :)
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi Anthony47 » 14/11/13 23:12

Le tue stringhe per caso contengono degli spazi? E i dati da dove arrivano?
Comunque puoi esaminare il codice asci dei singli caratteri con una formula tipo
Codice: Seleziona tutto
=CODICE(STRINGA.ESTRAI(A2;A3;1))

La parola da esaminare e' in A2, in A3 scrivi il numero di carattere da esaminare, la formula ti restituisce il codice
Eventualmente affianchi a questa formula un' altra analoga per esaminare i caratteri della parola scritta in B2:
Codice: Seleziona tutto
=CODICE(STRINGA.ESTRAI(B2;A3;1))

Cosi' modificando A3 puoi confrontare direttamente il codice dei caratteri delle due stringhe.

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

Re: macro variabile cella foglio1 in fogli corrispondenti

Postdi salatony » 18/11/13 20:22

ciao
sono riuscito a fare il confronto tra le due parole alfa (la prima è il risultato della copia, l'altra scritta) ho continuato a cambiare il valore in A3 (quantità delle lettere presenti nella parola) contemporaneamente in entrambe le celle, dove ho inserito le tue formule,
la differenza dei valori rilevati è stato rilevato al 5° digit (non visibile), infatti, la parola alfa copiata AVEVA UNO SPAZIO IN PIU',
quindi, ho aggiunto e rinominato il foglio da aprire con la macro, con questo spazio in più è il PROBLEMA è RISOLTO
grazie
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16


Torna a Applicazioni Office Windows


Topic correlati a "macro variabile cella foglio1 in fogli corrispondenti":


Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti