|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
05-02-2015, 15.34.30 | #1 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Select case... non funziona in modo corretto.
MsgBox (Riferimeto_Pz) Select Case Riferimeto_Pz Case 3 To 84 MsgBox (Riferimeto_Pz & " OK!!!") PazienteSelezionato.Caption = Range("d" & Riferimeto_Pz).Value Select Case Range("a" & Riferimeto_Pz).Value Case 3 To 12 Nucleo.Caption = "A" Case 12 To 22 Nucleo.Caption = "B" Case 23 To 36 Nucleo.Caption = "C" End Select Stanza.Caption = Range("a" & Riferimeto_Pz).Value Letto.Caption = Range("b" & Riferimeto_Pz).Value End Select End Sub Allora ho creato questa sub all'interno si un form che opera su una serie di fogli excel. In base ai tasti cliccati dall'utente rinomina un serie di etichette. Se il valore è tra 3 ed 84 mi dovrebbe rinominare le etichette secondo il Select colorato di verde. Il problema è nel primo select (in rosso), praticamente se Riferimeto_Pz ha un valore tra 9 e 29 il case non va avanti , mentre dovrebbe saltare la parte interna solo se il valore è minore di 3 o maggiore di 84. Il case interno funziona... ho aggiunto i msgbox solo per verificare la funzionalità... ma quello che non riesco a capire è perchè solo i valori tra 9 e 29 non li riconosce mente tutti gli altri si. il valore a Riferimeto_Pz viene assegnato trami te il clic ad un etichetta con una serie di sub come queste: Private Sub Label1_Click() Riferimeto_Pz = 1 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label2_Click() Riferimeto_Pz = 2 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label3_Click() Riferimeto_Pz = 3 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label4_Click() Riferimeto_Pz = 4 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label5_Click() Riferimeto_Pz = 5 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label6_Click() Riferimeto_Pz = 6 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label7_Click() Riferimeto_Pz = 7 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label8_Click() Riferimeto_Pz = 8 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label9_Click() Riferimeto_Pz = 9 Call routine_Paziente(Riferimeto_Pz) End Sub Private Sub Label10_Click() Riferimeto_Pz = 10 Call routine_Paziente(Riferimeto_Pz) End Sub e così via fono all' 82 Poi in un altra sub successivamente il valore Riferimeto_Pz viene incrementato di 2 |
05-02-2015, 16.39.12 | #2 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Temporaneamente ho risolto così
Così funziona... ma non riesco a capire perché con select non funziona?
Sub Rinomina_Etichette() MsgBox (Riferimeto_Pz) If Riferimeto_Pz > 2 And Riferimeto_Pz < 85 Then MsgBox (Riferimeto_Pz & " OK!!!") PazienteSelezionato.Caption = Range("d" & Riferimeto_Pz).Value Select Case Range("a" & Riferimeto_Pz).Value Case 3 To 12 Nucleo.Caption = "A" Case 12 To 22 Nucleo.Caption = "B" Case 23 To 36 Nucleo.Caption = "C" End Select Stanza.Caption = Range("a" & Riferimeto_Pz).Value Letto.Caption = Range("b" & Riferimeto_Pz).Value End If End Sub |
05-02-2015, 18.47.22 | #3 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Rif: Select case... non funziona in modo corretto.
Ho appena fato una brutta scoperta anche il secondo select non analizza tutti i valori...
Possibile? nel case 3 to 12.. il 6 ad esempio non funziona Possibile che il select non sia affidabile? è some se quando do un range di dati ne saltasse una zona |
05-02-2015, 19.28.21 | #4 |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
Rif: Select case... non funziona in modo corretto.
Il select ovviamente è affidabile, ti consiglio di fare un po' di debugging per scoprire quali valori sono analizzati e quale risultato è restituito.
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
05-02-2015, 21.08.00 | #5 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Rif: Select case... non funziona in modo corretto.
il debugging lo avevo già fatto ed ho anche fatto avanzare la routin passo passo, ed anche quando il valore di Riferimeto_Pz era uguale a 9 sul case 3 to 12 salta al case successivo...
|
05-02-2015, 21.18.40 | #6 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Rif: Select case... non funziona in modo corretto.
Ho risolto, ma grazie a Borgata , che mi ha fatto rifare il debugging mi sono accorto che Riferimeto_Pz era dichiarato come string. dichiarandolo come byte funziona tutto benissimo
Grazie!!! |
05-02-2015, 21.54.43 | #7 | |
Senior Member
WT Expert
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
|
Rif: Select case... non funziona in modo corretto.
Quota:
Case 13 To 22
___________________________________
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale - |
|
05-02-2015, 22.24.40 | #8 |
Newbie
Registrato: 17-07-2014
Messaggi: 18
|
Rif: Select case... non funziona in modo corretto.
Grazie :-)
|
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Implementazione T9 su PC | c1p8 | Programmazione | 10 | 23-07-2012 15.07.27 |
SOLO X ESPERTI: explorer infetto, ripristino non funziona... | swan_x | Windows 7/Vista/XP/ 2003 | 38 | 01-07-2009 16.01.58 |
Nuovo Case, Problema con Porta USB anteriore | JuSTeR | Hardware e Overclock | 6 | 22-08-2006 17.47.13 |
assemblare un pc in modo corretto | luca2 | Hardware e Overclock | 3 | 21-01-2006 18.59.49 |
Costruire un case per un hd esterno | onlygio | Hardware e Overclock | 13 | 13-10-2003 19.20.46 |