› Excel e gli applicativi Microsoft Office › macro che funzioni su tutti i file
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
-
AutoreArticoli
-
Ciao a tutti,tempo fa avevo scritto sul vecchio forum per una macro che mi aiutasse a fare un cerca verticale.Qua il link per contestualizzare: https://www.excelvba.it/Forum/story/Excel_e_gli_applicativi_Office/funzione_vlookup.htmlOra vorrei fare in modo che questa macro funzionasse su qualsiasi file, mentre ora funziona solo se la salvo su un foglio dello stesso file.la parte che non funziona è questa, credo che il problema sia la parte in grassetto e corsivo.[...]Workbooks.Open (...)While (Workbooks(...).Worksheets(...).Cells(numero_riga_kn, 1) <> "")
contatore_righe_kn = contatore_righe_kn + 1
numero_riga_kn = numero_riga_kn + 1
WendWith Workbooks(...).Worksheets(...)
Set R1 = .Range(.Cells(2, 2), .Cells(contatore_righe_kn, 2))
End WithActiveWorkbook.ActivateFor C = contatore_righe To 1 Step -1
Set R2 = R1.Find(Cells(C, 6))
If Not R2 Is Nothing Then Cells(C, 6).EntireRow.Delete
Next CWorkbooks(...).Close[...]mi sapreste dire come renderla universale ossia poterla aprire scritta in un file e usarla su qualsiasi file diverso?Grazie 🙂-
Questo argomento è stato modificato 8 anni, 2 mesi fa da
ambrovba.
Ora vorrei fare in modo che questa macro funzionasse su qualsiasi file, mentre ora funziona solo se la salvo su un foglio dello stesso file.guarda a questo indirizzo:Grazie della risposta.In realtà ci avevo già provato e non va. Il problema è proprio legato alla parte di programma scritta sopra. Il resto della macro che non vi ho scritto, funziona perfettamente su una cartella di lavoro diversa da quella in cui ho scritto la macro.[…]Workbooks.Open (…)While (Workbooks(…).Worksheets(…).Cells(numero_riga_kn, 1) <> “”)
contatore_righe_kn = contatore_righe_kn + 1
numero_riga_kn = numero_riga_kn + 1
WendWith Workbooks(…).Worksheets(…)
Set R1 = .Range(.Cells(2, 2), .Cells(contatore_righe_kn, 2))
End WithActiveWorkbook.ActivateFor C = contatore_righe To 1 Step -1
Set R2 = R1.Find(Cells(C, 6))
If Not R2 Is Nothing Then Cells(C, 6).EntireRow.Delete
Next CWorkbooks(…).Close[…]penso che il problema sia la parte in grassetto. Volete che alleghi tutto il file con la macro?prova ad allegare il file, senza dati sensibili 😆Ciao Albatros54,scusa per il ritardo nella risposta.Allego tre file.il file "ETD...." è quello su cui devo lavorare e il cui nome varia di giorno in giornoil file "CSV da non aggiornare" varia di giorno in giorno nel contenuto ma non nel nome del file e non nella strutturail file PERSONAL è la macroL'obiettivo è che la macro funzioni su ogni file senza che debba copiarla sul file stesso ma lasciandola esterna su Personal.Praticamente ogni giorno aprirò il file "ETD..." attiverò la macro aprendo il file PERSONAL e selezionando la macro su "ETD..." e le righe aventi lo stesso valore in ETD e in CSV verranno eliminate.Ad oggi questo funzionamento lo ottengo solo se la macro è salvata direttamente su "ETD...".Spero di essere stato abbastanza chiaro 🙂Allegati:
You must be logged in to view attached files.scusa, da quello che hai scritto, nel file "ETD…", dovrei trovare una macro, ma l'unica macro che trovo nei tre file, si trova nel file PERSONAL, quindi c'è qualcona che non torna 😯Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)
Ciao,ho scritto che la macro è nel file PERSONAL.Il mio obiettivo è che la macro funzioni sul file "ETD...", che cambia nome ogni giorno, lasciandola esterna nel file PERSONAL.Ad oggi invece la macro funziona solo se la salvo direttamente sul file "ETD..."Sono stato più chiaro? -
Questo argomento è stato modificato 8 anni, 2 mesi fa da
-
AutoreArticoli
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
