Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2008, 11: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, 15: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, 12: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, 09: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, 09: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, 13: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, 14: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, 08: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, 14: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, 14: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, 12: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, 15: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


PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Sono bastate solo 5 ore per insegnare a ...
Fastweb + Vodafone e TIM: un accordo per...
Scaleway apre una nuova cloud region a M...
Il PC non dà accesso al disco C:/...
Attenzione alle app IPTV: nascondono Per...
Controller Xbox in offerta su Amazon: co...
vivo X300 Pro 5G a 1.199€ su Amazon: il ...
"Portraits of Italians": la ca...
Roborock Qrevo Curv 2 Pro crolla di prez...
Uber ha trovato il partner per i robotax...
Sony pronta a dire addio al marchio PSN:...
ARCTIC Senza AI 370: il PC 'sotto la scr...
Corsair 3200D, il mid-tower sotto i 100€...
Esiste un SSD NVMe M.2 2280 da 16 TB, ma...
Speciale LEGO in sconto su Amazon: set d...
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: 18:44.


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