Condividi:        

Cerca vert multipla da un database

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

Cerca vert multipla da un database

Postdi Ubuntus » 01/09/16 21:46

Ciao

Ho un database dove vengono registrate automaticamente uno sotto l'altro dei valori ogni secondo fino a 50/60 mila righe, nella prima colonna c'è una stringa di commeni e nella seconda la data e l'ora di registrazione, la stringa ha un set fisso di commenti che variano a seconda dell' evento.

Mi piacerebbe che, inserendo nel foglio 1,( poi foglio 2 , foglio 3 ecc) alla cella A1, il nome del mio file di registrazione es "Registrazione1.xls" e nella cella A2 il nome della stringa da cercare "Inizio registrazione 1", riuscire ad estrarre tutte le righe della stringa scritta in cella A2, e la riga temporale precedente ( solo le due colonne A e B, se ci fossero altre colonne ignorarle); ed inserendo il risultato dalla riga A3 B3, A4 B4 ecc fino a che le trova tutte le stringhe del file.

Il problema è che la riga precedente a quella che vorrei cercare cambia ogni volta, e per far cio mi sn fatto acrocchi manuali un po macchinosi dove devo lavorare sul file originale, ci sarebbe una soluzione piu furba?

ES del file
Codice: Seleziona tutto
valore ciclo 8   30/08/16 18:00:00
Inizio registrazione 1 30/08/16 18:00:01
valore ciclo 1   30/08/16 18:00:02
valore ciclo 2   30/08/16 18:00:03
valore bp 1   30/08/16 18:00:03
valore sx 2   30/08/16 18:00:04
..

valore j 4   30/08/16 18:05:03
Inizio registrazione 1 30/08/16 18:05:05
valore ciclo 1   30/08/16 18:05:08


Mi restituisse cio, la riga precedente a quella che certo e la riga cercata, ognuno su righe differenti

Codice: Seleziona tutto
valore ciclo 8   30/08/16 18:00:00
Inizio registrazione 1 30/08/16 18:00:01
valore j 4   30/08/16 18:05:03
Inizio registrazione 1 30/08/16 18:05:05


grazias :D
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Sponsor
 

Re: Cerca vert multipla da un database

Postdi Ubuntus » 02/09/16 10:05

usavo la funzione cercaMvert a parte che si fermava alla riga 2000, e mi cancellava tutto

mi trovava tutti i cerca vert separati da ; , lo scomponevo e trasponevo il file
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi alfrimpa » 02/09/16 14:32

Ciao Ubuntus

Credo sia meglio che tu alleghi un file di esempio con la situazione iniziale ed il risultato desiderato inserito mnualmente.

Sicuramente sarà più facile per chi volesse rispondere (io la prossima settimana non ho il pc a disposizione) capire qual è il problema.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Cerca vert multipla da un database

Postdi Anthony47 » 05/09/16 02:13

Senza un file di esempio si puo' solo tentare:
Codice: Seleziona tutto
Sub WrapUp()
Dim myWA As Worksheet, myTarg As String, srcWhat As String, C As Range, myNext As Long
'
Set myWA = ThisWorkbook.ActiveSheet
myTarg = myWA.Range("A1")
srcWhat = myWA.Range("A2").Value
'
Workbooks(myTarg).Activate
Sheets(1).Select                '<<< Il foglio del file di registrazione da usare
'
With ActiveSheet.Range("A:A")
    Set C = .Find(what:=srcWhat, LookIn:=xlValues, lookat:=xlWhole)
    If Not C Is Nothing Then
        firstAddress = C.Address
        Do
            myNext = myWA.Cells(Rows.Count, 1).End(xlUp).Row + 1: If myNext < 5 Then myNext = 5
            C.Offset(-1, 0).Resize(2, 2).Copy Destination:=myWA.Cells(myNext, 1)
            Set C = .FindNext(C)
        Loop While Not C Is Nothing And C.Address <> firstAddress
    End If
End With
Application.Goto myWA.Range("A1")
MsgBox ("Completato...")
End Sub
L'indice usato nella riga marcata <<< va adattata al tuo file

Parti dal foglio in cui sono scritti i tuoi parametri e lancia la macro. Se i risultati non sono pero' soddisfacenti allora devi allegare un file di esempio; per le istruzioni su come fare:
viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 05/09/16 11:13

ecco l'esempio

https://drive.google.com/open?id=0B1LqK ... mtJUERFNXM

Vorrei estrarre dal database(foglio 3 ha circa 50/60 mila riga ) tutti questi valori, il valore di Start ed il valore antecedente lo start

Codice: Seleziona tutto
Pressure   30/08/2016 07:03
Press_1_Start_Cycle   30/08/2016 07:04
Pressure   30/08/2016 07:09
Press_1_Start_Cycle   30/08/2016 07:10


e riportarli sul foglio 1 dalla cella b5 in avanti
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi alfrimpa » 05/09/16 11:16

Ora sono fuori ma nel pomeriggio rientro e do uno sguardo.

Ritengo occorra una macro
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Cerca vert multipla da un database

Postdi Ubuntus » 05/09/16 11:33

o da qui se non va da G drive

http://www.filedropper.com/analisiprova
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 06/09/16 01:53

Pero' le prove dovresti farle tu...

Inoltre la formula in D7 (e sottostanti) di P1 e' sbagliata; non =+SECONDO(C7)+MINUTO(C7)*60+ORA(C7)*24 ma
Codice: Seleziona tutto
=SECONDO(C7)+MINUTO(C7)*60+ORA(C7)*3600

oppure
Codice: Seleziona tutto
=C7*86400


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 06/09/16 11:41

ok grazie per il suggerimento, l'ho provata la macro si blocca qua... alla prima riga

Codice: Seleziona tutto
Workbooks(myTarg).Activate

sheets(1).Select                '<<< Il foglio del file di registrazione da usare
'
With ActiveSheet.Range("A:A")
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 06/09/16 22:47

Mi piacerebbe che, inserendo nel foglio 1,( poi foglio 2 , foglio 3 ecc) alla cella A1, il nome del mio file di registrazione es "Registrazione1.xls" e nella cella A2 il nome della stringa da cercare "Inizio registrazione 1", riuscire ad estrarre tutte le righe della stringa scritta in cella A2, e la riga temporale precedente

ok grazie per il suggerimento, l'ho provata la macro si blocca qua... alla prima riga
Codice: Seleziona tutto
    Workbooks(myTarg).Activate

    sheets(1).Select                '<<< Il foglio del file di registrazione da usare
    '
    With ActiveSheet.Range("A:A")


La macro mette in myTarg quello che tu hai messo in A1 del foglio attivo (il nome del mio file di registrazione es "Registrazione1.xls"); il file (e questo NON L'HO DETTO!) deve essere gia' aperto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 07/09/16 09:14

ho provato , mettendo il file di registrazione in A1 e tenendolo aperto, ma si ferma la macro su quella riga ( inoltre è possibile farlo lavorare con il file chiuso) grazie :)
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 07/09/16 12:17

Ti da' un messaggio di errore? Quale?
Se vai sull'editor delle macro (da Excel, premere Alt-F11) ed esamini il frame Progetto-VBAProject (vedi immagine qui: viewtopic.php?f=26&t=103893&p=622593#p622593), riesci a vedere la struttura sia del file "di registrazione" che del file dove hai inserito la macro?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 08/09/16 14:33

Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 08/09/16 19:40

Ti chiedevo di dirmi che errore dava (e lo hai fatto con l'immagine).
Adesso la seconda domanda e':
-vai nel Vba, nel frame Progetto-VbaProject e dimmi se trovi elencati contemporaneamente sia il file in cui e' presente la macro WrapUp sia il file il cui nome hai messo in A1 del foglio attivo.
Per una immagine del frame Progetto-VbaProgetto:
vai su viewtopic.php?f=26&t=103893 poi clicca "Come registrare una macro" e troverai l'immagine.

Inoltre (cosi' ci portiamo avanti), apri TaskManager (Gestione attivita') di Windows, tab Processi; ordina per nome del processo e dimmi quanti processi EXCEL.Exe sono presenti.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 09/09/16 07:43

in allegato, ma non vedo il file

https://s9.postimg.org/6w54v4xbj/Cattura_2.png

grazie
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 09/09/16 14:16

Anthony ha scritto:Inoltre (cosi' ci portiamo avanti), apri TaskManager (Gestione attivita') di Windows, tab Processi; ordina per nome del processo e dimmi quanti processi EXCEL.Exe sono presenti.
Io mi sono portato avanti con le domande, ma tu sei rimasto indietro con le risposte...
Evidentemente l'altro file e' aperto in una seconda sessione di Excel, che non e' intercomunicante con la prima.
Questo puo' dipendere dalle impostazioni del tuo pc.

Per evitare, fai File /Apri dalla sessione gia' aperta.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 12/09/16 14:40

Ti ringrazio per la tempestività :D

un solo processo attivo come excel, ho provato anche ad aprire il file dati assieme al file di analisi lanciando la macro. ma si ferma sempre la macro con quel errore gia visto

provo a salvare i due fogli e li zippo
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 12/09/16 14:47

Con un solo processo Excel allora dovresti vedere ambedue i file nel frame vba-Project, mentre nel tuo caso compare il solo AnalisiFermate.xlsm.

Quando hai l'errore e sei in debug, premi Contr-g; poi nella finestra "Immediata" che si apre scrivi
?myTarg
Dimmi quindi che cosa ti risponde.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cerca vert multipla da un database

Postdi Ubuntus » 12/09/16 15:53

https://we.tl/ytcS3pSEK9

ti ho allegato il file

come errore da questo
Codice: Seleziona tutto
?myTarg
Nome file
Ubuntus
Utente Junior
 
Post: 81
Iscritto il: 24/07/15 15:56

Re: Cerca vert multipla da un database

Postdi Anthony47 » 12/09/16 22:54

Ubuntus ha scritto:Mi piacerebbe che, inserendo nel foglio 1,( poi foglio 2 , foglio 3 ecc) alla cella A1, il nome del mio file di registrazione es "Registrazione1.xls" e nella cella A2 il nome della stringa da cercare "Inizio registrazione 1", riuscire ad estrarre tutte le righe della stringa scritta in cella A2, e la riga temporale precedente
Non hai rispettato le tue specifiche: in A1 ci va il nome file, e in A2 ci va la stringa da estrarre.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Cerca vert multipla da un database":


Chi c’è in linea

Visitano il forum: systemcrack e 42 ospiti