Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Ricerca in più pagine excel e trasferimento in texbox

    Ciao ragazzi,
    è possibile tramite userform fare un ricerca di una parola in decine di pagine excel e che poi in 4 textbox vengano riportati i dati di 4 celle dov'è stata trovata quella parola?

    Mi spego meglio.

    nella userform scrivo la parola che devo cercare.
    questa ricerca deve essere fatta su oltre 100 fogli e deve cercare dalla colonna "A15 alla colonna A39"
    una volta trovata la parola (che non può essere ripetuta in altri fogli) deve mandarmi un "rapportino" in un'altra userform composta da 4 textbox dove:
    Textbox1= parola cercata
    Textbox2= cella A4 della pagina in cui si trova la parola cercata
    Textbox3= cella A5 della pagina in cui si trova la parola cercata
    Textbox4= cella A6 della pagina in cui si trova la parola cercata

    Vi prego aiutatemi.

    ciao

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio va indicato anche nel titolo, come da Regolamento.
    Qui l'ho aggiunto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Re: Moderazione

    Originariamente inviato da alka
    Il linguaggio va indicato anche nel titolo, come da Regolamento.
    sorry

  4. #4

    Re: Ricerca in più pagine excel e trasferimento in texbox

    Originariamente inviato da Moax
    Ciao ragazzi,
    è possibile tramite userform fare un ricerca di una parola in decine di pagine excel e che poi in 4 textbox vengano riportati i dati di 4 celle dov'è stata trovata quella parola?

    Mi spego meglio.

    nella userform scrivo la parola che devo cercare.
    questa ricerca deve essere fatta su oltre 100 fogli e deve cercare dalla colonna "A15 alla colonna A39"
    una volta trovata la parola (che non può essere ripetuta in altri fogli) deve mandarmi un "rapportino" in un'altra userform composta da 4 textbox dove:
    Textbox1= parola cercata
    Textbox2= cella A4 della pagina in cui si trova la parola cercata
    Textbox3= cella A5 della pagina in cui si trova la parola cercata
    Textbox4= cella A6 della pagina in cui si trova la parola cercata

    Vi prego aiutatemi.

    ciao
    Certo che e' possibile !

    La cosa e' solo complicata dal fatto che i fogli (presumo) non sono nello stesso file degli UserForm, e quindi bisognera' accedere a ciascun file/foglio e ripetere la ricerca...

    Per una ricerca SUL SOLO FOGLIO 1 potrebbe essere cosi' fatto, ipotizzando di avere su UserForm1 il campo Textbox1 dove scrivere la parola cercata e un CommandButton1 per avviare la ricerca, e su UserForm2 i quattro campi (Textbox1,2,3,4) dove mettere i risultati:
    codice:
    'da inserire nel codice dell'UserForm1 
    Private Sub CommandButton1_Click()
       Dim parola As String
       Dim i As Integer
       parola = UCase$(Trim$(Me.TextBox1.Text))
       With Sheets(1)
          For i = 15 To 39
             If UCase$(Trim$(CStr(.Cells(i, 1)))) = parola Then
                UserForm2.TextBox1 = .Cells(i, 4)
                UserForm2.TextBox2 = .Cells(4, 1)
                UserForm2.TextBox3 = .Cells(5, 1)
                UserForm2.TextBox4 = .Cells(6, 1)
                UserForm2.Show
                Exit Sub
             End If
          Next
       End With
       MsgBox "NON TROVATA !"
    End Sub
    N.B.: la sequenza Ucase$(Trim(...)) serve ad eliminare eventuali spazi iniziali e finali nelle parole, e a confrontare le parole in MAIUSCOLO, per evitare di non trovare una parola per una differenza di formattazione... (cosi' "Prova" e' trovata anche se scritta "prova" con l'iniziale minuscola)
    IceCube_HT (VB6 fan Club)

  5. #5
    provo subitissimo, i 100 fogli sono tutti nello stesso file excel.
    Ti faccio sapere, intanto grazie

  6. #6
    Originariamente inviato da Moax
    provo subitissimo, i 100 fogli sono tutti nello stesso file excel.
    Ti faccio sapere, intanto grazie
    Beh, allora la modifica e' semplicissima, basta cercare in tutti i fogli della workbook stessa:
    codice:
       Private Sub CommandButton1_Click()
       Dim parola As String
       Dim i As Integer
       Dim s As Worksheet
       parola = UCase$(Trim$(Me.TextBox1.Text))
       For Each s In ActiveWorkbook.Sheets
          With s
             For i = 15 To 39
                If UCase$(Trim$(CStr(.Cells(i, 1)))) = parola Then
                   UserForm2.TextBox1 = .Cells(i, 1)
                   UserForm2.TextBox2 = .Cells(4, 1)
                   UserForm2.TextBox3 = .Cells(5, 1)
                   UserForm2.TextBox4 = .Cells(6, 1)
                   UserForm2.Show
                   Exit Sub
                End If
             Next
          End With
       Next
       MsgBox "NON TROVATA !"
    End Sub
    IceCube_HT (VB6 fan Club)

  7. #7
    Sei un grande, il codice funziona benissimo
    Grazie 1000

  8. #8
    ciao, scusate l'intrusione ma sono nelle curve.
    ho provato a reinterpretare l'esempio sottoriportato sul mio caso, ma con scarsi risultati.

    io ho un elenco di libri e riviste suddivise per titolo, anno, edizione e contenuti.
    Dovrei creare una userform di ricerca testo (o parola chiave) che cerchi sui fogli della cartella di lavoro e che restituisca il risultato su un secondo userform, che indichi la posizione della ricerca come una sorta di stringa.
    (praticamente il comando "trova" di excel ma creato su vba)
    potete suggerirmi come fare?

  9. #9
    Originariamente inviato da Alegarit
    ciao, scusate l'intrusione ma sono nelle curve.
    ho provato a reinterpretare l'esempio sottoriportato sul mio caso, ma con scarsi risultati.

    io ho un elenco di libri e riviste suddivise per titolo, anno, edizione e contenuti.
    Dovrei creare una userform di ricerca testo (o parola chiave) che cerchi sui fogli della cartella di lavoro e che restituisca il risultato su un secondo userform, che indichi la posizione della ricerca come una sorta di stringa.
    (praticamente il comando "trova" di excel ma creato su vba)
    potete suggerirmi come fare?
    L'esempio fa al caso tuo: dove è che non ti torna? Ti da errori?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.