Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Macro più veloce
#1
Ciao
con registra macro ho creato questa macro che inizialmente funzionava benissimo. Ora avendo in questo file quasi 100.000 record è diventata lenta. So che facendo delle vere macro diventa molto più veloce  Angel

quello che fa la "mia" macro:

copia tutti i dati da foglio1 (A8:Y200) e li accoda in foglio2
calcolando che che il dato sempre presente é CODEAN (foglio1 K8:K200 e foglio2 K2 in accodamento).
Copio sempre tutti i dati (A8:Y200) perchè non sono capace di selezionare solo lo scritto, i dati vuoti non fanno danni....
I dati in foglio1 (G7, I7, K8:K200, P8Tongue200, X8:Y200)  vengono tutti cancellati e ripristinato per nuovo inserimento.

Vorrei capire, dato che questa macro la uso per altri fogli, cosa devo cambiare per aumentare o diminuire le colonne o i record.

Grazie, spero di essere stato esaustivo.  Smile  Smile

allego file


Allegati
.ods   EsempioRegistrazioni.ods (Dimensione: 59,85 KB / Download: 6)
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#2
per il momento prova questa che non cancella i dati del foglio1
Codice:
sub copia
Doc = ThisComponent
Sheet = Doc.Sheets(0)
Sheet1 = Doc.Sheets(1)
rigainizio = 8
rigafine = 200
c = Sheet1.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow + 2
Range = Sheet.getCellRangeByname("A" & rigainizio & ":Y" & rigafine).getDataArray
dRange  = Sheet1.getCellRangeByname("A" & Lastrow & ":Y" & LastRow + rigafine - rigainizio )
dRange.setDataArray(Range)
End Sub
Cita messaggio
#3
Ciao. Patel
La tua macro va benissimo, perfetta Smile
ho aggiunto con, registra macro, la cancellazione dei record del foglio1 anche se un polenta ...ma più veloce di prima  Smile  Smile  

grazie e buona giornata

ps se riesci a mettere anche il ripristino di foglio1 Wink  Wink . forse chiedo troppo alla tua buona volontà
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#4
per cancellare ad es. il range K8:K200 usa
Codice:
Sheet.getCellRangeByname("K8:K200").Clearcontents(5)
Cita messaggio
#5
Ciao, Patel.

Fatto la macro come indicato da te.
Sono riuscito oltre a cancellare anche ad andare alla cella K8, sempre con registra macro Smile
Ho dovuto fare un artificio, cambiare foglio e poi tornare perchè altrimenti la cella (K8) non diventava attiva ma rimaneva attivo il pulsante.

Ti invio file (non riesco ad aggiungere il codice non so come si fa Scappo )

ciao e sempre grazie Smile


Allegati
.odt   MACRO CopiaIncollaCancellaVai_K8.odt (Dimensione: 16,23 KB / Download: 0)
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)