|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
clem ha scritto:Grazie a bobo779256 per il tuo intervento.... @lui49: sono ritornato ad usare la macro precedente ovvero quella che mi dava i risultati sotto una sola riga senza senso.... Riesci a riprodurla? Per catturare schermate o parti di esse scarica da qui la versione portable. La terza icona ti permette di selezionare quello che vuoi e poi lo salvi nel formato che vuoi.
|
|
Rank: AiutAmico
Iscritto dal : 4/27/2004 Posts: 109
|
Non sono riuscito con il programma che mi hai indicato....ad ogni modo questa è la macro attualmente in uso che da il problema segnalato ovvero restituisce il valore cercato ma dopo 999 righi:il tasto cerca è nella colonna H del foglio Cerca inserito dopo tutti i fogli presenti nel file.
Sub Trova() Dim I As Integer, Z As Integer Dim TextToFind As String, Area As String Application.ScreenUpdating = False Area = "A1:Y1000" ' Definisce l'area di ricerca Z = 0 TextToFind = InputBox("Nome?") If TextToFind = "" Then End Sheets("Cerca").Select Cells.ClearContents Cells(1, 1) = "La ricerca di ''" & TextToFind & "'', ha dato i seguenti risultati:" Cells(2, 1) = "Rec" Cells(2, 2) = "Posizione" Cells(2, 3) = "Foglio" Cells(2, 4) = "Record" For I = 1 To Sheets.Count - 1 Sheets(I).Select With ActiveSheet.Range(Area) Set c = .Find(TextToFind, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.Select Z = Z + 1 Range("Cerca!A" & Z + 2) = Z Range("Cerca!B" & Z + 2) = ActiveCell.Address Range("Cerca!C" & Z + 2) = Sheets(I).Name Range("Cerca!D" & Z + 2) = ActiveCell Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With Next I Application.ScreenUpdating = True Sheets("Cerca").Select Range("H1").Select End Sub
Sub Cancella() Sheets("Cerca").Select Range("A1:Y1000").ClearContents ' cancella il contentuto del range End Sub
|
|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
Ma allora quando parli di risultati sotto una sola riga senza senso a cosa ti riferisci?
|
|
Rank: AiutAmico
Iscritto dal : 4/27/2004 Posts: 109
|
Mi riferivo alla macro precedente a quella attualmente installata, dove i risultatiche restituiva la macro apparivano non dopo 999 righe(come riportato nel precedente post) , ma dopo una solo riga e che quindi, poteva andare bene....visto che quella singola riga appariva al solito posto, avevo pensato di mettere in quelle celle la colorazione del carattere bianco in modo da non renderla visibile.
|
|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
Ecco, a questo mi riferivo. Riesci, col programmino che ti ho indicato, a catturare la schermata. Usa la terza icona del programma, seleziona l'area da catturare e salva come jpg. Poi la posti qui....
|
|
Rank: AiutAmico
Iscritto dal : 4/27/2004 Posts: 109
|
No, lui49 non ci riesco...scusami...ma non ho capito come utilizzare quel programma a cui fai riferimento...inoltre se tu mi chiedi di riproporre qui la macro precedente....quella non potrei visualizzarla in quanto l'ho sostituita con l'ultima che mi hai riproposto...forse anche qui penso di non aver capito bene...
|
|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
Non volevo vedere la macro bensì la "riga senza senso" del foglio 'Cerca'. Seleziona l'icona indicata, posizionati col mouse sulla parte di foglio che vuoi catturare, tieni premuto il tasto sinistro e gestisci l'area da catturare. Rilascia il tasto e salva in jpg l'immagine.
|
|
Rank: AiutAmico
Iscritto dal : 4/27/2004 Posts: 109
|
Questo è il msg....naturalmente le righe della colonna A vanno dal n.2 alla riga 999 poi appaiono nelle ultime due righe, i valori utili trovarti.
|
|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
Sposta il foglio "Cerca" (clic tasto destro sulla linguetta-->sposta o copia-->sposta alla fine) alla fine di tutti gli altri fogli altrimenti per ogni ciclo sarà inserito nella ricerca e quindi saranno riportati nuovamente i dati della precedente-.
Se invece preferisci mantenerlo nella attuale posizione ti basta modificare il codice:
Sostituisci: For I = 1 To Sheets.Count - 1 Con : For I = 2 To Sheets.Count
|
|
Rank: AiutAmico
Iscritto dal : 4/27/2004 Posts: 109
|
Ci siamo lui49!!! Perfetto adeso con la modifica mi appaiono solo i valori cercati, e mi indica io fogli che corrispondo al nome cercato. Perfetto....c'è voluto del tempo, ma ci sei riuscito! Sono molto contento perchè con questa modifica, la funzione cerca è di molto ma molto semplificata....
Ancora grazie, lui49! Ciao
|
|
Rank: AiutAmico
Iscritto dal : 5/4/2003 Posts: 2,845
|
|
|
Guest |