Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Cercare un parola in una stringa

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Cercare un parola in una stringa

Postdi tutamimetica » 24/07/11 09:21

Ciao ragazzi. Ho bisogno di un aiutino.
Ho in P1 una stringa del tipo "prova1A prova2A prova3A prova4A prova5A prova1B prova2B prova3B prova4B prova5B"
in P2 "riprova1A riprova2A riprova3A riprova4A riprova5A riprova1B riprova2B riprova3B riprova4B riprova5B" e così via fino a P40.
Ho bisogno di sapere in Q1 se in P1:P40 esiste prova2B e in che rigo è.
grazie Tuta
tutamimetica
Utente Senior
 
Post: 209
Iscritto il: 10/06/08 17:25

Sponsor
 

Re: Cercare un parola in una stringa

Postdi Flash30005 » 24/07/11 10:51

Con questa macro dovresti risolvere ma...
Codice: Seleziona tutto
Sub TrovaStr()
VS1 = " prova2B"
RC = 0
        With Range("P1:P40")
            Set C = .Find(VS1, LookIn:=xlFormulas, LookAt:=xlPart)
                If Not C Is Nothing Then
                    firstAddress = C.Address
                    RC = C.Row
                    Do
                        Set C = .FindNext(C)
                        If firstAddress = C.Address Then Exit Do
                        RC = C.Row
                    Loop While Not C Is Nothing And C.Address <> firstAddress
                End If
        End With
       If RC <> 0 Then
       Range("Q1").Value = "Esiste alla riga " & RC
       Else
       Range("Q1").Value = "Non Esiste"
       End If
End Sub


Per evitare il bug della prima stringa dovresti mettere uno spazio all'inizio di ogni stringa magari con una macro
di questo tipo da mettere all'inizio della precedente come indicato
Codice: Seleziona tutto
VS1 = " prova2B"  '<<<< esistente
'--------- aggiungere queste linee di codice
For RR = 1 To 40
Stringa = Range("P" & RR).Value
If Mid(Stringa, 1, 1) <> " " Then Stringa = " " & Stringa
Range("P" & RR).Value = Stringa
Next RR
'------------ fine linee di codice
RC = 0      '<<<<<<<< esistente


Fai sapere
ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cercare un parola in una stringa

Postdi tutamimetica » 24/07/11 15:22

Flash quello che hai fatto per me va benissimo, purtroppo mi crea dei problemi in quanto le ricerche sono multiple e riferite alle celle sottostanti. Una formula per me sarebbe stato l'ideale e mi avrebbe risolto parecchi problemi.
Se non è possibile adatterò la macro alle mie necessità
tuta
tutamimetica
Utente Senior
 
Post: 209
Iscritto il: 10/06/08 17:25

Re: Cercare un parola in una stringa

Postdi Flash30005 » 24/07/11 15:38

Se necessiti di una formula è un discorso
ma se pensi che una macro non possa soddisfare ogni esigenza... :o
Si tratta solo di sapere l'effettiva esigenza quella da me inviata soddisfa quanto da te richiesto fino ad ora
se ci sono altre specifiche devi solo farle presenti :D

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Cercare un parola in una stringa":


Chi c’è in linea

Visitano il forum: patel e 14 ospiti