Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

inserire una riga con intestazione in automatico ogni 5 righe

Ultimo Aggiornamento: 25/07/2020 13:30
Post: 1
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
21/07/2020 10:54

inserire una riga con intestazione in automatico ogni 8 righe
nel file allegato riesco a scaricare i dati aggiornati da un sito internet e riesco a ordinare le righe in ordine crescente tramite 1 macro..

vorrei inserire ogni 8 righe ovvero ogni estrazione una riga di intestazione con la data presa dalla colonna 1
[Modificato da excelnewbye 21/07/2020 10:57]
Post: 955
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
21/07/2020 16:02

Ti propongo questa mia integrazione alla tua macro.
Faccio notare che nel titolo hai scritto 'ogni 5 righe' mentre nel testo parli di 'ogni 8 righe ovvero ogni estrazione' poi nella realtà le estrazioni hanno salti con altri valori; presumendo che vi sia una estrazione ad ogni cambio di data nella colonna A ho preferito privilegiare quest'ultimo dettaglio.
Ho anche inserito una pulizia delle colonne d'appoggio (J:N) per evitare problemi di formattazione delle celle con data in caso di ripetizione dell'esecuzione della macro.
La mia parte di macro non è una 'scheggia' dato che confronta le date una ad una e sono 'solo' 64658, ma tant'è, fa quanto richiesto. Al limite la usi come base di partenza per sviluppare il tuo progetto ... dopo aver trovato una soluzione per velocizzare la tua parte di macro (altrettanto lenta) che mette in ordine in numeri nelle righe.
Option Explicit

Sub OrdinaCrescente()

    Dim vector As Variant
    Dim Rig    As Long, Col As Long, Val As Long

    Columns("J:N").Clear                          'pulizia preventiva colonne J:N
    Application.Calculation = xlManual
    For Rig = 2 To Cells(Rows.Count, "C").End(xlUp).Row
        ''carico in un vettore le celle interessate
        vector = Sheets("Foglio1").Range(Cells(Rig, "C"), Cells(Rig, "G"))
        Col = 10
        For Val = 1 To 5
            Sheets("Foglio1").Cells(Rig, Col) = Application.Small(vector, Val)
            ''scrivo il valore dal piu' piccolo al piu' grande nella sua colonna
            Col = Col + 1
        Next Val
    Next Rig
    '--------------
    Application.ScreenUpdating = False            'evita lo sfarfallio dello schermo
    For Rig = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 'cicla all'inverso l'elenco
        If Cells(Rig, 1).Value <> Cells(Rig - 1, 1).Value Then 'confronta le date tra due righe
            Range("J" & Rig & ":N" & Rig).Insert Shift:=xlDown 'inserisce una fila di celle vuote
            Cells(Rig, 10) = Format(Cells(Rig, 1), "mm/dd/yyyy") 'inserisce e formatta le date
        End If
    Next Rig
    Columns(Col).EntireColumn.AutoFit             'adatta la larghezza della colonna
    Application.ScreenUpdating = True
    '--------------
    Application.Calculation = xlAutomatic
    Calculate
    
End Sub
[Modificato da rollis13 21/07/2020 16:03]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 1
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
21/07/2020 18:49

grazie ora testo il tuo...

ero riuscito con questo vba a creare le linee vuote..

Sub InsertRowsAtValueChangeColumnA()
Dim X As Long, LastRow As Long
Const DataCol As String = "A"
Const StartRow = 2
LastRow = Cells(Rows.Count, DataCol).End(xlUp).Row
Application.ScreenUpdating = False
For X = LastRow To StartRow + 1 Step -1
If Cells(X, DataCol).Value <> Cells(X - 1, DataCol) Then Rows(X).Insert
Next
Application.ScreenUpdating = True
End Sub


mi serviva mettere intestazione ora

è possibile inserire nella colonna I le relative ruote nel tuo script?
Perchè ora risultano sfalsate e non si sa a che ruota si riferiscono
[Modificato da excelnewbye 22/07/2020 08:50]
Post: 956
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
21/07/2020 23:13

Vedi se così con qualche aggiustamento può bastare:
Option Explicit

Sub OrdinaCrescente()

    Dim vector As Variant
    Dim Rig    As Long, Col As Long, Val As Long
    Dim i, conta
    
    Columns("I:N").Clear                          'pulizia preventiva colonne I:N
    Application.Calculation = xlManual
    For Rig = 2 To Cells(Rows.Count, "C").End(xlUp).Row
        ''carico in un vettore le celle interessate
        vector = Sheets("Foglio1").Range(Cells(Rig, "C"), Cells(Rig, "G"))
        Col = 10
        For Val = 1 To 5
            Sheets("Foglio1").Cells(Rig, Col) = Application.Small(vector, Val)
            ''scrivo il valore dal piu' piccolo al piu' grande nella sua colonna
            Col = Col + 1
        Next Val
    Next Rig
    '--------------
    For Rig = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 'cicla all'inverso l'elenco
        If Cells(Rig, 1).Value <> Cells(Rig - 1, 1).Value Then 'confronta le date tra due righe
            Range("I" & Rig & ":N" & Rig).Insert Shift:=xlDown 'inserisce una fila di celle vuote
            Cells(Rig, 9) = Format(Cells(Rig, 1), "mm/dd/yyyy") 'inserisce e formatta le date in colonna I
            For i = 1 To conta + 1                'ciclo pari alle date ripetitive
                Cells(Rig + i, 9) = Cells(Rig + i - 1, 2) 'inserisci ruota in colonna I
            Next i
            conta = 0                             'resetta il contatore date ripetitive
        Else
            conta = conta + 1                     'incrementa contatore date ripetitive
        End If
    Next Rig
    Columns(9).EntireColumn.AutoFit               'adatta la larghezza della colonna I
    '--------------
    Application.Calculation = xlAutomatic
    Calculate
    
End Sub
[Modificato da rollis13 21/07/2020 23:25]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 2
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 09:14

Ottimo Grazie..

mi chiedevo... una volta lanciato la prima volta e avuto l'ordine desiderato, se per le volte successive non fosse possibile fare 1 bottone per ordinare ad ogni aggiornamento dell'estrazione solo le ultime linee aggiunte e non far rifare tutto daccapo..

Diventerebbe quasi istantaneo
Post: 957
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 14:49

Sicuramente sì, 'tutto' si può fare con Excel (a parte il ☕ che personalmente non ho mai visto fare), ma, a mio modo di valutare l'attuale progetto, è tutto da rifare.
Ogni parte della macro va interamente riprogettata e contemporaneamente memorizzato da qualche parte il punto attuale da cui ripartire con l'elaborazione.
Se dal sito si possono scaricare separatamente solo i dati più recenti anche l'aggiornamento potrebbe essere gestito in modo più semplice per poi accodarlo ai dati elaborati attuali.
Vedo per te un buon 'compito per casa' da analizzare e sviluppare 😉.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 14:54

vista la mia totale inesperienza con excel per l'aggiornamento lo faccio lato php.. scaricando da un sito il file zip, lo scompatto in txt e poi lo faccio leggere ad excel!

quindi in linea teorica se riesco a crearmi 1 txt via php con solo l'ultima estrazione diventa + semplice in excel?


ho notato che potrei scaricare ultima estrazione importando la table0 da qui:
https://www.estrazionedellotto.it/
[Modificato da excelnewbye 22/07/2020 15:08]
Post: 958
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 15:07

Certamente sì, invece di rielaborare 64658 e più righe ti adatti l'attuale macro (o ne crei una simile con tanto di bottone) per gestire le poche righe aggiornate e alla fine, con i dati ottenuti dopo l'elaborazione, provvedi ad incollarli sotto l'attuale elenco in colonne I-N.
Per non sovrascrivere la tabella in colonne A-G potresti anche preparare tutto in Foglio2 e poi copiare in Foglio1 colonne I-N.
[Modificato da rollis13 22/07/2020 15:10]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 4
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 15:09

ho notato che potrei anche importare i dati automaticamente da excel importando la table0 da qui
https://www.estrazionedellotto.it/

ma resta il problema di come dire ad excel di aggiungere le righe solo se diverse?
Post: 959
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 15:17

No, secondo me non va bene se sei costretto a discriminare se i dati sono diversi; così facendo dovresti comunque ciclare +64658 righe per trovare il punto d'ingresso.
Questa informazione la devi memorizzare in qualche cella d'appoggio (es. la data dell'ultima estrazione presente nelle colonne I-N) e così sarà l'unico confronto da fare.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 5
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 15:28

potrei accontentarmi anche di farglielo fare 1 centinaio di volte.. scaricando e aggiornando solo il 2020 e facendolo aggiornare dalla riga 63923

e poi adattare lo script da 63923 fino a ultima riga?

il resto mi resterebbe cosi come è?
[Modificato da excelnewbye 22/07/2020 15:29]
Post: 960
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 15:50

Esatto, questa è la riga dove hai controllato il ciclo:

For Rig = 2 To Cells(Rows.Count, "C").End(xlUp).Row

e "2" è la tua prima riga, nulla ti vieta di gestire tale dato con una variabile a cui assegni il valore che ti serve. Come hai scritto, sapendo di fare solo l'anno 2020, dovrai valorizzare la variabile con 63923. Naturalmente poi dovrai 'aggiustare/adeguare' anche altre parti della macro come servirà.
Dovendo 'accodare' alla colonna I-N suggerisco di lavorare solo sulle ultime estrazioni (mancanti) e non sull'intero anno altrimenti dovrai 'ritagliare' anche i dati 2020 in colonna I-N prima di accodare.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 6
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 16:09

si stavo valutando il tuo suggerimento
ma devo sicuramente modificare:
Columns("I:N").Clear
perchè cancellerebbe tutto e non va bene...

inoltre deve iniziare a scrivere dall'ultima riga.. e non dalla seconda... nè dal valore che contiene "Rig" visto che sono sfalsate le colonne!!

forse non ho capito a pieno il tuo suggerimento! rileggo
[Modificato da excelnewbye 22/07/2020 16:10]
Post: 961
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 18:21

Giustamente come hai analizzato, nella nuova versione della macro non dovrai più inserire la pulizia delle colonne I-N e per l'accodamento dell'ultima estrazione rielaborata frutterai la funzione Cells(Rows.Count, "I").End(xlUp).Row + 1 per calcolarti il numero di riga della prima cella in colonna I dove iniziare ad incollare.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 7
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 21:22

Però manca anche la condizione per lanciare lo script solo quando necessario

che potrebbe essere (da tradurre in VBA)
If l'ultima riga della colonna A ha lo stesso valore dell'ulitma riga -12 della colonna J

ABBOZZO:
If Cells(Rows.Count, "A").End(xlUp).Row.Value <> Cells(Rows.Count, "A").End(xlUp).Row.Value -12).Value Then

non fare niente!

else
fai...


[Modificato da excelnewbye 22/07/2020 21:28]
Post: 962
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 21:55

L'approccio è corretto, l'impostazione dell' If/Then/Else è corretta ma per quel po' che ho intuito un confronto tipo quello che hai 'abbozzato' lo dovrai fare tra la colonna A (contenente la data della o delle nuove estrazioni) e la l'ultima data in colonna I dove andrai poi ad aggiungere solo l'elaborazione delle ultime/a estrazione in modo da gestire solamente quello che ti serve poche righe invece di +64658).
Vedi che sopra ho scritto 'intuito' perché non mi sono preso la briga di analizzare il tuo progetto e nei post precedenti mi sono limitato ad aggiustare la tua macro in modo da ottenere il risultato che chiedevi. Ora più di così non sono in grado di aiutarti.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 8
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
22/07/2020 22:07

Re:
rollis13, 22/07/2020 21:55:

'abbozzato' lo dovrai fare tra la colonna A (contenente la data della o delle nuove estrazioni) la l'ultima data in colonna I dove andrai poi ad aggiungere solo l'elaborazione delle ultime/a estrazione in modo da gestire solamente quello che ti serve poche righe invece di +64658).



ABBOZZO:
If Cells(Rows.Count, "A").End(xlUp).Row.Value <> Cells(Rows.Count, "J").End(xlUp).Row.Value -12).Value Then

Nella mia testa volevo dire prendi il valore dell'ultima riga della colonna A che contiene la data e confrontala con l'ultima riga della colonna J -12 se la data e' uguale non fare nulla..

altrimenti...

ma non conoscendo la sintassi avrò sbagliata.. Cerco la sintassi corretta


[Modificato da excelnewbye 22/07/2020 22:11]
Post: 963
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
22/07/2020 22:27

If Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Value <> Range("J" & Cells(Rows.Count, "J").End(xlUp).Row - 11).Value Then
    'fai qualcosa
Else
    'fai qualcos'altro
End If

Questa potrebbe essere la sintassi adatta ma ricordo anche che con la mia ultima versione della macro la colonna di riferimento era la I e non la J e sempre se e in futuro le ruote siano sempre 11.
[Modificato da rollis13 22/07/2020 22:29]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 9
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
23/07/2020 09:12

Sto provando a ricostruire quello che mi hai illustrato... avevi ragione era colonna "I"

Sub OrdinaUltima()
 
    Dim vector As Variant
    Dim Rig    As Long, Col As Long, Val As Long
    Dim i, conta
     
    'Columns("I:N").Clear                          'pulizia preventiva colonne I:N
    Application.Calculation = xlManual
    For Rig = 64660 To Cells(Rows.Count, "C").End(xlUp).Row 'da riga 64659 a ultima della colonna C
    
        ''carico in un vettore le celle interessate
        vector = Sheets("Foglio1").Range(Cells(Rig, "C"), Cells(Rig, "G"))
        Col = 10
        For Val = 1 To 5
            Sheets("Foglio1").Cells(Rig, Col) = Application.Small(vector, Val)
            ''scrivo il valore dal piu' piccolo al piu' grande nella sua colonna
            Col = Col + 1
        Next Val
    Next Rig
    '--------------
    For Rig = Cells(Rows.Count, "A").End(xlUp).Row To 64660 Step -1 'cicla all'inverso l'elenco
        'If Cells(Rig, 1).Value <> Cells(Rig - 1, 1).Value Then 'confronta le date tra due righe
        If Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Value <> Range("I" & Cells(Rows.Count, "I").End(xlUp).Row - 1).Value Then
           ' Cells(Rows.Count, "I").End(xlUp).Row + 1 funzione dove iniziare a scrivere i dati ovvero prima riga vuota colonna I
            Range("I" & Rig & ":N" & Rig).Insert Shift:=xlDown 'inserisce una fila di celle vuote
            Cells(Rig, 9) = Format(Cells(Rig, 1), "mm/dd/yyyy") 'inserisce e formatta le date in colonna I
            For i = 1 To conta + 1                'ciclo pari alle date ripetitive
                Cells(Rig + i, 9) = Cells(Rig + i - 1, 2) 'inserisci ruota in colonna I
            Next i
            conta = 0                             'resetta il contatore date ripetitive
        Else
            conta = conta + 1                     'incrementa contatore date ripetitive
        End If
    Next Rig
    Columns(9).EntireColumn.AutoFit               'adatta la larghezza della colonna I
    '--------------
    Application.Calculation = xlAutomatic
    Calculate
     
End Sub


avevo provato anche a inizializzare 1 nuova var
ultima = Cells(Rows.Count, "I").End(xlUp).Row + 1

per poi fare
Range("I" & ultima & ":N" & ultima).Insert Shift:=xlDown
[Modificato da excelnewbye 23/07/2020 11:13]
Post: 964
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
23/07/2020 15:58

Aggiustata così mi pare che giri meglio.
Per necessità bisogna prendere nota di dov'è finita la precedente elaborazione. Per ora nella macro l'avevi impostata manualmente a 64670 e come vedrai l'ho sostituita con una variabile 'uData' il cui valore +1 l'ho parcheggiato nella cella P1 e che verrà aggiornato automaticamente a termine dell'elaborazione.
Prima di fare una prova devi inserire manualmente nella cella P1 il primo numero di riga vuota in colonna A.
Option Explicit

Sub OrdinaUltima()

    Dim vector As Variant
    Dim Rig    As Long, Col As Long, Val As Long
    Dim i, conta, rig1, rig2
    Dim uData                                     'riga ultima data estrazione elaborata +1
    
    Application.Calculation = xlManual
    '--- salvato dato ultima riga (ora 64660) e sostituita con la variabile uData ---
    uData = Range("P1")                           'prelevo il numero prima riga dall'ultima elaborazione
    For Rig = uData To Cells(Rows.Count, "C").End(xlUp).Row 'da riga uData a ultima della colonna C
        ''carico in un vettore le celle interessate
        vector = Sheets("Foglio1").Range(Cells(Rig, "C"), Cells(Rig, "G"))
        Col = 10
        rig1 = Cells(Rows.Count, "J").End(xlUp).Row + 1 '<-- trovare ultima riga compilata I-N
        For Val = 1 To 5
            Sheets("Foglio1").Cells(rig1, Col) = Application.Small(vector, Val)
            ''scrivo il valore dal piu' piccolo al piu' grande nella sua colonna
            Col = Col + 1
        Next Val
    Next Rig
    '--------------
    '--- salvato dato ultima riga (ora 64660) e sostituita con la variabile uData ---
    For Rig = Cells(Rows.Count, "A").End(xlUp).Row To uData Step -1 'cicla all'inverso l'elenco
        If Cells(Rig, 1).Value <> Cells(Rig - 1, 1).Value Then 'confronta le date tra due righe
            rig2 = Cells(Rows.Count, "I").End(xlUp).Row + 1 '<-- dove iniziare a scrivere i dati ovvero prima riga vuota colonna I
            Range("I" & rig2 & ":N" & rig2).Insert Shift:=xlDown 'inserisce una fila di celle vuote
            Cells(rig2, 9) = Format(Cells(Rig, 1), "mm/dd/yyyy") 'inserisce e formatta le date in colonna I
            For i = 1 To conta + 1                'ciclo pari alle date ripetitive
                Cells(rig2 + i, 9) = Cells(Rig + i - 1, 2) 'inserisci ruota in colonna I
            Next i
            conta = 0                             'resetta il contatore date ripetitive
        Else
            conta = conta + 1                     'incrementa contatore date ripetitive
        End If
    Next Rig
    Columns(9).EntireColumn.AutoFit               'adatta la larghezza della colonna I
    Range("P1") = Cells(Rows.Count, "A").End(xlUp).Row + 1 'ultima data estrazione elaborata (+1) appoggiata in cella P1
    '--------------
    Application.Calculation = xlAutomatic
    Calculate
    
End Sub

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 10
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
23/07/2020 16:55

Grazie funziona alla Grande..

avevo sempre sottovalutato excel.. però mi hai aperto un mondo.. inizierò a studiarlo!

ho 1 ultima domanda.. esiste un comando da poter inserire in 1 bottone che faccia la stessa cosa di tasto dx aggiorna?
[Modificato da excelnewbye 23/07/2020 16:57]
Post: 965
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
23/07/2020 17:27

Cosa intendi ? inserire qualcosa nella lista del tasto destro o creare un apposito bottone a cui assegnare la macro ?
La prima è praticamente impercorribile mentre la seconda è più comune:
Dal menu Inserisci / Illustrazioni / Forme / scegli la forma e la disegni nel foglio come ti serve / poi col tasto destro sulla forma disegnata scegli 'Modifica Testo' / poi sempre col destro scegli 'Assegna Macro' e selezioni a macro che ti serve.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 11
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
23/07/2020 17:30

Hai ragione mi sono spiegato malissimo...

Io aggiorno la lista delle estrazioni prelevandola dal web da una mia pagina php facendo tasto destro su una cella e poi cliccando sul comando aggiorna..
Che presumo lanci un comando excel visita la pagina web inserita etc...

Volevo inserire un tasto aggiorna che facesse la stessa cosa.. Ma era giusto una curiosità

I bottoni li avevo già inseriti per i tuoi 2 script con diciture aggiorna tutte e aggiorna ultima 😀
[Modificato da excelnewbye 23/07/2020 17:33]
Post: 966
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
23/07/2020 18:53

Se non l'hai già fatto devi inserire nella macro "Aggiorna Tutte" questa riga di codice nella stessa posizione così com'è nella macro "Aggiorna Ultime" in modo da avere il numero già inserito in cella P1 pronto per un uso successivo della macro "Aggiorna Ultime":
Range("P1") = Cells(Rows.Count, "A").End(xlUp).Row + 1

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 12
Registrato il: 21/07/2020
Età: 36
Utente Junior
excel 2019
OFFLINE
24/07/2020 12:02

Re:
rollis13, 23/07/2020 18:53:

Se non l'hai già fatto devi inserire nella macro "Aggiorna Tutte" questa riga di codice nella stessa posizione così com'è nella macro "Aggiorna Ultime" in modo da avere il numero già inserito in cella P1 pronto per un uso successivo della macro "Aggiorna Ultime":
Range("P1") = Cells(Rows.Count, "A").End(xlUp).Row + 1



in realtà questo comando dovrebbe essere lanciato subito dopo aver effettuato l'aggiornamento dal sito.. e excel riempie le colonne da A a G con la nuova estrazione!

per questo cercavo il comando da inserire in 1 bottone che facesse l'equivalente di tasto dx aggiorna!

:)

comunque ottimo lavoro rollis13 grazie!


[Modificato da excelnewbye 24/07/2020 12:05]
Post: 967
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
24/07/2020 23:37

Quell' "Aggiorna" è una funzione destinata al Power Query che usi per ricavare i dati prelevati dal sito.
Non ho idea se con i comandi Power Query si può anche lanciare una macro.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 2.908
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
25/07/2020 13:30

Ciao
non entro nel merito di quello che hai chiesto in quanto sei in ottime mani (un caro saluto Rollis).

Ti sottopongo una modifica alla tua query in modo da tirati dentro i risultati "a partire dal...", qualora la ritenessi utile.

Ovviamente il tutto lo dovresti fare su un altro foglio e poi accodare il risultato al tuo archivio principale.

Forse ci guadagnerai in tempo.

Come vedi nel foglio, c'è una data con affianco il relativo anno, mese, giorno in tre celle separate e nominate ANNO, MESE, GIORNO, che vengono date in pasto alla query.

saluti





[Modificato da dodo47 25/07/2020 17:21]
Domenico
Win 10 - Excel 2016
Vota: 15MediaObject5,00227 2
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 21:36. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com