Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

sostituzione valori

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

sostituzione valori

Postdi miko » 18/03/10 20:52

ciao,
sono alle prese com un altro problema che risolvo manualmente.
nelle colonne da b3 a k sono inseriti 10 valori, mentre nelle colonne da n3 a w inserisco quei valori, compresi tra 1 e 20, che non sono contenuti nelle combinazioni che si trovano sulla stessa riga.

Immagine

quindi considero la prima combinazione da b a k : 1-4-5-10-14-15-16-17-18-20
e sulla stessa riga a partire da n3 inserisco i numeri che non sono contenuti nella precedente combinazione, cioè 2-3-6-7-8-9-11-12-13-19
e cosi procedo per le altre.
potete suggerirmi come macro-elaborare questo noioso calcolo?
ciao grazie
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: sostituzione valori

Postdi Flash30005 » 18/03/10 22:58

Prova con questa macro
Codice: Seleziona tutto
Sub TrovaN()
UR = Sheets("Foglio1").Range("B" & Rows.Count).End(xlUp).Row
For RR = 3 To UR
  For NN = 1 To 20
        With Worksheets("Foglio1").Range(Cells(RR, 2), Cells(RR, 11))
            Set A = .Find(NN, LookIn:=xlValues)
            If Not A Is Nothing Then
                firstDAddress = A.Address
                Do
                    If A.Value = NN Then GoTo salta
                    Set A = .FindNext(A)
                    On Error Resume Next
                Loop While Not A Is Nothing And A.Address <> firstDAddress
                    On Error GoTo 0
            End If
        End With
            UC = Worksheets("Foglio1").Range("W" & RR).End(xlToLeft).Column + 1
            If UC = 12 Then
                Worksheets("Foglio1").Cells(RR, 14).Value = NN
            Else
                Worksheets("Foglio1").Cells(RR, UC).Value = NN
            End If
salta:
    Next NN
Next RR
End Sub


Cambia il nome del foglio ("Foglio1") nella macro se diverso

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: sostituzione valori

Postdi Anthony47 » 18/03/10 23:32

Se sono poche righe potresti farlo con formule:
in N3:
Codice: Seleziona tutto
=PICCOLO(SE(CONTA.SE($B3:$K3;RIF.RIGA(INDIRETTO("1:20")))>0;"";RIF.RIGA(INDIRETTO("1:20")));RIF.COLONNA(A1))
da confermare con Contr-Maiusc-Enter.
Poi copi in largo e lungo.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: sostituzione valori

Postdi miko » 19/03/10 10:49

ciao,
ho provato la macro e la formula, è inutile sottolineare che funzionano entrambe.
grazie a tutti e due.
saluti
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Re: sostituzione valori

Postdi miko » 19/03/10 12:35

ciao,
stavo modificando la macro di flash, per rendela più rapida, in modo che il calcolo non partisse, ad ogni aggiornamento del range B-K, sempre dalla prima combinazione B3-K3, ma dalla prima combinazione del nuovo inserimento, ormai le combinazioni inserite in precedenza sono già state calcolate, per cui è inutile eseguire di nuovo lo stesso calcolo.
volevo inserire la call importa archivio e le altre linee per eseguire il calcolo dalla prima combinazione inserita con la nuova importazione di dati.
ma facendo delle prove sulla macro originale ho notato che se aggiungo ulteriori combinazioni nel range b-k il calcolo modifica i precedenti valori del range n-w, mentre inserisce corretti valori per quelle combinazioni che ho aggiunto.
in altri termini il calcolo corretto viene eseguito solo sulle combinazioni aggiunte mentre fa variare i valori calcolati in precedenza.
se cancello tutto il range n-w ed inserisco altre combinazioni nel range b-k il calcolo viene eseguito correttamente per tutte le combinazioni.
vi invio il file con la macro originale di flash e con l'aggiunta di ulteriori combinazioni, in modo che sia più chiara la descrizione del problema.
le combinazioni dalla riga 23 in poi sono identiche a quelle da 3 a 22.
http://www.filedropper.com/sostituzionevalori
ciao grazie
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Re: sostituzione valori

Postdi Flash30005 » 20/03/10 02:17

Non capisco come mai ti cambiano i valori delle "vecchie" elaborazioni se la riga rimane la stessa non possono cambiare i numeri mancanti
ma se adotti il sistema che abbiamo già adottato nella macro cerca frequenze terni, settine che consiste nel
Calcolare le righe prima dell'aggiornamento
aggiornare le estrazioni e
ricalcolare le righe
la ricerca la fai con un for...next da "righe precedenti aggiornamento + 1" a "righe dopo aggiornamento"

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: sostituzione valori

Postdi miko » 22/03/10 10:56

ciao,
infatti ho usato proprio quelle linee, del programma settine, per giungere al risultato, ma continuavo ad ottenere errori di calcolo.
poi sabato mattina ho riprovato ancora e finalmente tutto funziona;
non ricordo cosa ho fatto dopo tante modifiche e quindi non so dire dove era il problema.
evidentemente il sabato ho qualche lampo di genio.
saluti grazie
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44


Torna a Applicazioni Office Windows


Topic correlati a "sostituzione valori":


Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti