Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2008, 10:42   #1
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
[V.B.] Macro Excel per trova-sostituisci

Ciao,
devo implementare una macro che trovi e sostituisca delle parole.
Ad esempio:

Nella cella A-1 c'è la frase " scarpe simpson colore red "
Nella cella A-2 c'è la frase " scarpe simpson colore blue "
Nella cella A-3 c'è la frase " maglia redstill colore red "
Nella cella A-4 c'è la frase " maglia simpson colore blue "

La macro deve trovare le parole "red " e "blue " (cercando in tutto il foglio) e sostituire con "rosso " e "blu " considerando anche lo spazio dopo la parola per evitare la sostituzione di parole composte (come redstill).
Quindi dopo l'esecuzione della macro il risultato deve essere:

Nella cella A-1 la frase " scarpe simpson colore rosso "
Nella cella A-2 la frase " scarpe simpson colore blu "
Nella cella A-3 la frase " maglia redstill colore rosso "
Nella cella A-4 la frase " maglia simpson colore blu "

So che esiste già il trova-sostituisci in excel ma siccome sono molte le parole da sostituire e sempre le stesse preferirei implementare una macro.
Spero di essere stato chiaro
Grazie mille
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 28-05-2008, 14:31   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da k4daoal Guarda i messaggi
La macro deve trovare le parole "red " e "blue " (cercando in tutto il foglio) e sostituire con "rosso " e "blu " considerando anche lo spazio dopo la parola per evitare la sostituzione di parole composte (come redstill).
Quel "cercando in tutto il foglio" suona un po' come una minaccia !
Significa come minimo 256x65'536 = 16'777'216 di celle.
E non penso tu debba automatizzare un elenco di 16 milioni di voci.
Forse intendi un certo range preciso...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2008, 11:24   #3
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
ok allora diciamo una seleziona da A,1 a L,1000

Comunque eventualmente il range lo adatto dopo se la macro impiega troppo tempo

Grazie mille
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 08:19   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da k4daoal Guarda i messaggi
ok allora diciamo una seleziona da A,1 a L,1000

Comunque eventualmente il range lo adatto dopo se la macro impiega troppo tempo

Grazie mille
Daniele
Mmm, chi non muore si rivede eh ?
Detesto le "meteore", ma dato che è codice di tre settimane fa, lo posto ugualmente... :

Codice:
    Dim cella As Range
    For Each cella In Range("A1:L1000")
        Dim strCella As String
        strCella = cella.Text
        Dim parole() As String
        parole() = Split(strCella)
        Dim nuovaStr As String
        nuovaStr = ""
        For i = 0 To UBound(parole)
            Select Case parole(i)
                
                Case "blue"
                    parole(i) = "blu"
                    
                Case "red"
                    parole(i) = "rosso"
                    
                'Case ...
                
            End Select
            nuovaStr = nuovaStr & parole(i) & " "
        Next
        cella.FormulaR1C1 = nuovaStr
    Next
Routine espandibile e personalizzabile...

Ed è anche l'ultima volta che ti rispondo se lasci passare altre 3 settimane !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 08:55   #5
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
hai ragione ti chiedo scusa, purtroppo ho dovuto accantonare un attimo il progetto per fare un altro lavoro, in ogni caso hai ragione
Grazie mille
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2009, 12:26   #6
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Mmm, chi non muore si rivede eh ?
Detesto le "meteore", ma dato che è codice di tre settimane fa, lo posto ugualmente... :

Codice:
    Dim cella As Range
    For Each cella In Range("A1:L1000")
        Dim strCella As String
        strCella = cella.Text
        Dim parole() As String
        parole() = Split(strCella)
        Dim nuovaStr As String
        nuovaStr = ""
        For i = 0 To UBound(parole)
            Select Case parole(i)
                
                Case "blue"
                    parole(i) = "blu"
                    
                Case "red"
                    parole(i) = "rosso"
                    
                'Case ...
                
            End Select
            nuovaStr = nuovaStr & parole(i) & " "
        Next
        cella.FormulaR1C1 = nuovaStr
    Next
Routine espandibile e personalizzabile...

Ed è anche l'ultima volta che ti rispondo se lasci passare altre 3 settimane !
Ciao! Abuso di nuovo delle tue capacità per chiederti una cosa se puoi aiutarmi

Supponendo che volessi che mettere il valore da sostituire nella colonna successiva, stessa riga, cosa dovrei fare?

Esempio:

cella A1 contiene:
t-shirt blue

dopo aver eseguito la macro

cella A1 contiene:
t-shirt blue

cella B1 contiene:
blu


Grazie mille
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2009, 13:04   #7
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
ammazza che "resuscita topic" di classe :P

cmq pensaci un minimo, non é tanto difficile
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2009, 07:44   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da k4daoal Guarda i messaggi
cella A1 contiene:
t-shirt blue

dopo aver eseguito la macro

cella A1 contiene:
t-shirt blue

cella B1 contiene:
blu
Ma è cambiato il range di riferimento ? Ora è la colonna A1:A1000 ?

Quote:
Originariamente inviato da Kralizek Guarda i messaggi
ammazza che "resuscita topic" di classe :P
Sì. infatti.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2009, 13:06   #9
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Ma è cambiato il range di riferimento ? Ora è la colonna A1:A1000 ?



Sì. infatti.


si il range di riferimento è A1:A1000

Grazie mille
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2009, 13:19   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da k4daoal Guarda i messaggi
si il range di riferimento è A1:A1000
In tal caso :

Codice:
    Dim cella As Range
    For Each cella In Range("A1:A1000")
        Dim strCella As String
        strCella = cella.Text
        Dim parole() As String
        parole() = Split(strCella)
        For i = 0 To UBound(parole)
            Select Case parole(i)
                
                Case "blue"
                    Range("B" & cella.Row).FormulaR1C1 = "blu"
                    Exit For
                    
                Case "red"
                    Range("B" & cella.Row).FormulaR1C1 = "rosso"
                    Exit For
                    
                'Case ...
                
            End Select
        Next i
    Next cella
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 11:34   #11
k4daoal
Member
 
Iscritto dal: Oct 2007
Messaggi: 72
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
In tal caso :

Codice:
    Dim cella As Range
    For Each cella In Range("A1:A1000")
        Dim strCella As String
        strCella = cella.Text
        Dim parole() As String
        parole() = Split(strCella)
        For i = 0 To UBound(parole)
            Select Case parole(i)
                
                Case "blue"
                    Range("B" & cella.Row).FormulaR1C1 = "blu"
                    Exit For
                    
                Case "red"
                    Range("B" & cella.Row).FormulaR1C1 = "rosso"
                    Exit For
                    
                'Case ...
                
            End Select
        Next i
    Next cella
eheh mitico la provo subito
ti farò un regalo un giorno
Grazie ancora
Daniele
__________________
Intel Q6600 G0 @3,2 ghz with Scythe Infinity // Asus P5K-E Wi-Fi // Asus 8800 gts 640mb // 2gb 2x1gb ddr2 800mhz a-data vitesta extreme // 2x western digital caviar SATA2 raid 0 // Masterizzatore Pioneer DVD-RW DL // Masterizzatore LG CD // OCZ 600W StealthXStream //
k4daoal è offline   Rispondi citando il messaggio o parte di esso
Old 20-08-2012, 14:11   #12
Fabrizioespo
Junior Member
 
Iscritto dal: Aug 2012
Messaggi: 1
Excel ...... MACRO

Ciao Marco piacere ..... scusami se ti disturbo ma facendo una navigata qui su questo sito ho letto la tua risposta inerente ad una macro excel .....
Mi potresti aiutare?

Il motivo della mia mail è proprio questo, cioè mi manca un piccolo dettaglio per risolvermi un GRANDISSIMO problema.

MACRO ......

Fondamentalmente si riferisce al cerca e sostituisci ..... cioè quando registro una macro e gli segnalo di cercare (per poi sostituire) una parola, lui ricerca sempre la stessa parola inserita quando l'avevo registrata (non so se mi sono spiegato)

cioè il mio intento è quello che l'utente finale deve immettere una parola nella cella e poi la macro deve cercare e sostituire quella parola non richiamare la parola da me registrata al momento della creazione della macro.

ti faccio un esempio:

parola da cercare (CANE) aziono la macro che fa il suo lavoro (cioè quella di sostituire la parola CANE), in un secondo momento voglio che mi cerca (GATTO) ma la macro cerca sempre la stessa parola CANE .....!!!

Spero di essere stato chiaro .....
Mi potresti aiutare?Ovviamente la mia segnalazione è anche per gli utenti che leggono!!!

Grazie
ciao a presto
Fabrizioespo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Avio: contratto da 40 milioni di € da ES...
Claude Sonnet 4.5, il nuovo modello di A...
Silent Hill f è un successo: gi&a...
Nuova Jeep Compass: aperti i preordini p...
La PS5 Slim con SSD più piccolo s...
Zero combustibili fossili e controllo qu...
Corsair NAUTILUS 360 RS LCD: raffreddame...
Nuovo record nel mondo dei computer quan...
Sony e Universal combatteranno l'IA con....
Il Chips Act europeo attuale è un...
OnePlus 15: debutto globale con design '...
Amazon Prime: addio alla prova gratuita ...
Windows 11 25H2: guida passo-passo per l...
ECOVACS Deebot Mini sotto i 300€, robot ...
USA chiedono a Taiwan di produrre chip i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v