Condividi:        

una aggiunta

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

una aggiunta

Postdi giorgioa » 19/07/23 06:04

Salve Anthony,
[con riferimento a questa discussione: viewtopic.php?f=26&t=113019]
cortesemente in questa macro vorrei aggiungessi il rif.riga per ogni numero che conteggia
Es a riga 101 estrapola i numeri 6 18 20 22 ecc a numero 6 da addizionare 100+6 = 106;
al numero 18 addizionare 100+18= 118 eccetera
Quindi il numero aumenta associato alla riga

Codice: Seleziona tutto
Sub Multiplix(ByRef myRan As Range, ByRef oPos As Range)
Dim oArr(), Warr, i As Long, J As Long
Dim oneL, hMax As Long, ccVal, myMatch, UB2 As Long
'
Warr = Range(myRan.Cells(1, 1), myRan.Cells(50000, 1).End(xlUp)).Resize(, 25).Value
UB2 = UBound(Warr, 2)
ReDim oArr(1 To UBound(Warr), 1 To UB2)
'
For i = 1 To UBound(Warr)
    oneL = Application.WorksheetFunction.index(Warr, i, 0)
    For J = 1 To UB2
        ccVal = oneL(J)
        If ccVal < 999 Then
            oneL(J) = 999
            myMatch = Application.Match(ccVal, oneL, False)
            If Not IsError(myMatch) Then
                oArr(i, UB2) = oArr(i, UB2) + 1
                oArr(i, oArr(i, UB2)) = ccVal
                oneL(myMatch) = 999
                If oArr(i, UB2) > hMax Then hMax = oArr(i, UB2)
            End If
        End If
    Next J
Next i
If hMax > 8 Then hMax = 8
oPos.Resize(UBound(oArr), hMax).Value = oArr
End Sub
Sub ggrr()
Call Multiplix(Range("J2"), Range("bb2"))
End Sub


Una domanda per favore,
ho installato Office 2021 non ho nessuna padronanza
ma le macro funzionano e se ne possono creare in questo ambiente?
Grazie per l'aggiunta alla macro e grazie per input 2021
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Sponsor
 

Re: una aggiunta

Postdi Anthony47 » 19/07/23 15:01

Stai chiedendo questa modifica?
Codice: Seleziona tutto
                oArr(I, UB2) = oArr(I, UB2) + 1
                oArr(I, oArr(I, UB2)) = ccVal + I       '<<< Rev C30719: + I
                oneL(myMatch) = 999
(Vedi riga marcata <<<)

Anche 2021 consente la creazione di macro; ad esempio per registrare le macro parti dalla "scheda Sviluppo", dove nel "gruppo Codice" si trova il comando Registra macro; se non trovi la scheda Sviluppo guarda qui: viewtopic.php?f=26&t=103893&p=622593#p622593
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: una aggiunta

Postdi giorgioa » 19/07/23 21:47

No l'aggiunta della variabile I non da al numero + rif.riga
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: una aggiunta

Postdi Anthony47 » 19/07/23 22:30

Forse
Codice: Seleziona tutto
                oArr(I, oArr(I, UB2)) = ccVal + myRan.Cells(I, 1).Row      'Rev C30719
?
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: una aggiunta

Postdi giorgioa » 19/07/23 23:53

No no ho il rif.riga + il numero della cella
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: una aggiunta

Postdi Anthony47 » 20/07/23 08:11

Allora e' meglio che alleghi un esempio di dati di partenza su cui indichi quali dati in uscita che ti servono, confrontandoli con quelli che la macro originale genera
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Una aggiunta

Postdi giorgioa » 20/07/23 18:25

https://1drv.ms/x/s!AoUgxEWS5dZ8glb0z7L ... D?e=n66Fem

Salve Anthony link condividi
apri il file modulo2
sub ggrr2
sub multiplixi1 (uno)
colonne interessate V:AB
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: Una aggiunta

Postdi Anthony47 » 20/07/23 19:28

Ok, ho i dati che usi tu (che comunque avevo immaginato); ma io non ho capito che tipo di output vorresti generare
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: una aggiunta

Postdi giorgioa » 20/07/23 19:50

Salve,

nelle colonne v:ab vorrei ottenere quei risultati
ora ci sono le formule invece delle formule la macro che
al numero doppio venga sommato anche il numero di riga

per eliminare le formule ti è sufficiente avviare da modulo
la sub ggrr2
ma macro che estrapola i dati è la multiplix1
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: una aggiunta

Postdi Anthony47 » 20/07/23 20:49

nelle colonne v:ab vorrei ottenere quei risultati
ora ci sono le formule invece delle formule la macro che
al numero doppio venga sommato anche il numero di riga

Nel file pubblicato, sul foglio ARCH2, le uniche formule sono nelle colonne O:U, ma mi pare non abbiano niente in comune con l'oggetto di questa discussione.
Le colonne V:AB sono invece popolate tramite la Sub ggrr2, che contiene la Call Multiplix standard

Non c'e' nessuna sub che richiami la Multiplix1, che mi pare sia quella modificata come da mio messaggio di ieri sera

Ho creato una nuova Sub ggrrazz che richiama Multiplix1, con questo codice
Codice: Seleziona tutto
Sub ggrrazz()
Call Multiplix1(Range("ha2"), Range("AD2"))
End Sub
e ottengo i risultati come da immagine (area in arancione, da confrontare con quanto prodotto dalla Sub Multiplix in colonne V:AA)
Immagine
Ti quadra qualcosa?
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: una aggiunta

Postdi giorgioa » 20/07/23 21:39

Anthony mi dispiace che ti faccio perdere tempo

le macro multiplix e multipli1 fanno la stessa estrapolZIONE DI DATI
quindi multiplix che tratta le colonne H:N non tenerne conto e viene avviata da ggrr modulo2

sempre modulo 2 sotto la multiplix e sub avvio ggrr c'è la multplixi1 rinominata con aggiunta di uno
e sotto per avviare la multiplixi1 c'è la sub ggrr2 e questa tratta le colonne V:AB
dove nelle celle ci sono le formule che mi danno l'esito finale cioè nella cella v2 in origne avremo il 5
mentre con l'aggiunta di sommare al 5 il rif.riga 2 diventa 7
la multiplix1 questo deve fare cioè estrae il numero doppio e gli aggiunge il numero di riga.
a me quello interessa le altre colonne fanno quanto voglio io
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: una aggiunta

Postdi Anthony47 » 20/07/23 23:04

Non ci capiamo proprio...
No, nel file non c'e' niente che "richiama" multiplix1, prima che inserissi la neo suggerita Sub ggrrazz.

E se usi la Sub ggrrazz, ottieni o no i risultati che ti servono? Se NO, mi fai un esempio di che cosa hai ottenuto e che cosa invece avresti voluto ottenere? Basta un esempio su un paio di righe
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: una aggiunta

Postdi giorgioa » 21/07/23 10:21

Buongiorno,

Giorgioa tanto ci voleva a capirlo,

non capivo e non facevo quello che mi chiedevi

e poi mi stavo domandando come rispiegare quanto volevo.

Funziona perfettamente e in un bater di ciglia(si fa per dire ma è quasi vero, una decina di secondi)

mentre la macro che sono riuscito ad abbozzare solo 20 minuti

Grazie e buona giornata

RISOLTO
giorgioa
Utente Senior
 
Post: 773
Iscritto il: 16/04/12 15:00

Re: una aggiunta

Postdi Anthony47 » 22/07/23 00:10

Giorgioa tanto ci voleva a capirlo
Ben detto :D :D
Avatar utente
Anthony47
Moderatore
 
Post: 19431
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "una aggiunta":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti