Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - interazione con EXCEL
Forum - Visual Basic 6 - interazione con EXCEL

Avatar
moet (Normal User)
Pro


Messaggi: 185
Iscritto: 13/11/2007

Segnala al moderatore
Postato alle 19:52
Mercoledì, 25/06/2008

ciao a tutti,

ho bisogno di verificare se la data che mi da l' utente tramite inputbox è in un documento excel.


ho gia fatto mille tentativi ma il mio problema è che la data potrebbe essere tra delle parole TIPO: "oggi 12/06/2008 è una bella giornata"

e riportarle in una text. Probabilmente sara frequente trovarne piu di una.

ho impostato un codice che ho trovato ma non da l' esito che voglio.







Codice sorgente - presumibilmente VB.NET

  1. Dim Zona As Range
  2. Dim x As String
  3. Dim CL As Range
  4. Dim Inizio As Long
  5. Dim Fine As Long
  6. Call pulisci
  7. Set Zona = Worksheets(1).UsedRange ' seleziona la zona dei dati presenti nel foglio
  8. x = InputBox(" Digita la Parola da Cercare", " Ricerca Parola")
  9.  
  10. Fine = Len(x) ' determiniamo la lunghezza della parola da cercare
  11.  
  12. For Each CL In Zona
  13. Inizio = InStr(CL.Value, x) ' determiniamo la variabile della parola (x) che è compresa tra nella stringa (CL.value)
  14.  
  15. CL.Characters(Start:=Inizio, Length:=Fine).Font.ColorIndex = 5 ' la cella è selezionata e verrà evidenziata solo la parte della varibile (fine)
  16. CL.Characters(Start:=Inizio, Length:=Fine).Font.Bold = True ' la parola cercata sarà grassettata
  17.  
  18. Next
  19.  
  20.  
  21.  
  22. Public Sub pulisci()
  23. Cells.Select
  24. Selection.Font.ColorIndex = 0 ' elimina la colorazioen dei caratteri
  25. Selection.Font.Bold = False ' elimina il grassetto
  26. Cells(1, 2).Select
  27. End Sub


PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 9:31
Giovedì, 26/06/2008
che nn da l' esito che vuoi, in che seneo?

PM Quote
Avatar
moet (Normal User)
Pro


Messaggi: 185
Iscritto: 13/11/2007

Segnala al moderatore
Postato alle 14:27
Giovedì, 26/06/2008
Ciao Anto,

grazie sei sempre molto gentile e preparato.


praticamente con quel codice che ho postato

inserendo ad inputbox la parola "pippo"

mi evidenzia sul file excel tutti gli inizi di parola di lunghezza pippo quindi 5 caratteri e li mette tutti in grasetto.

Invece io voglio che mi evidenzi e mi metta in grassetto solo ed esclusivamente se trova nel testo la parola "pippo".

Il file che ho postato evidenzia le parole della stessa lunghezza ma non identiche.

spero di essermi spiegato meglio.

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 17:59
Giovedì, 26/06/2008
premetto che nn sono esperto con excel (proprio per niente), ma prova ad aggiugere una if

Codice sorgente - presumibilmente VB.NET

  1. For Each CL In Zona
  2. if instr(cl.value,x)
  3. Inizio = InStr(CL.Value, x)
  4. CL.Characters(Start:=Inizio, Length:=Fine).Font.ColorIndex = 5
  5. CL.Characters(Start:=Inizio, Length:=Fine).Font.Bold = True
  6. endif
  7. Next



o se no prova a usare il mid xò ti rallenta un po
+ di così nn posso

PM Quote
Avatar
moet (Normal User)
Pro


Messaggi: 185
Iscritto: 13/11/2007

Segnala al moderatore
Postato alle 19:16
Giovedì, 26/06/2008
grandeeeeeeeeeeeeeeee


funziona!!!!!


grazie !:k:

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 20:11
Giovedì, 26/06/2008
e pensa che nn ci credevo neanche io

prego

PM Quote