Salve eccomi di nuovo a darti un po di fastidio sei la mia boa in mezzo all'oceano !!!
L'altra volta ti ho chiesto come recuparare il valore delle celle e la tua risposta è stata la seguente :
Ora puoi fare un ciclo sulle celle.
Recuperi il valore delle celle dando le coordinate x,y come a battaglia navale.
Esempio:
Dim ts as string ts=workbook.Cells(1,1)
restituisce il valore della cella A1.
Puoi fare due cicli for o do..while uno dentro l'altro.
ok... basandomi su questo mi sono ricavato il numero delle esatto delle righe e delle colonne ho attivato il range ed ho selezionato tutto il foglio di lavoro Excel.
Dopo di ciò ho fatto due cicli for nidificati per scorrere le righe e le colonne ,all'interno dei due cicli ho inserito un controllo tramite un if
solo per vedere se realmente analizzava il contenuto delle celle solo che quando incontra questa istruzione
Dim contenuto As String
contenuto = exWs.Cells(2, 2)
Mi restituisce la seguente eccezione :
Eccezione non gestita di tipo "System.InvalidCastException" in microsoft.visualbasic.dll
Informazioni aggiuntive: Cast non valido dal tipo 'Range' al tipo 'String'.
Cosa è che sbaglio ???
Ti posto di seguito il pezzo di codice ... e ti ringrazio per l'aiuto che mi stai dando e che sicuramente mi darai !!!!
Purtroppo sono alle prime armi con Vb .Net e spero di non darti fastidio.
Ciao nicola
'conta il numero di righe
numRighe = exWs.UsedRange.Rows.Count
'conta il numero delle colonne
numColonne = exWs.UsedRange.Columns.Count
'Attivazione range si selezione Celle prima parte
exWs.Range(exWs.Cells(2, 1), exWs.Cells(numRighe, numColonne)).Select()
'leggo il contenuto delle celle ??
For indRiga = 2 To numRighe
For indColonna = 2 To numColonne
Dim contenuto As String
contenuto = exWs.Cells(2, 2)
If contenuto = "" Then
MessageBox.Show("vuota")
Else : MessageBox.Show("Piena")
End If
Next indColonna
Next indRiga