pac ha scritto:
Mi hanno chiesto di importare in database una serie di fogli di calcolo (circa 2000) e la cosa almeno per me mi risulta molto complicata.
Cerco di descrivere come sono fatti questi fogli.
1) Un foglio per ogni cliente
2) Una prima serie di Etichette in senso verticale (Colonna A) e dati in corrispondente riga colonna B 3) Alla riga 15 si trovano due etichette nel senso però della riga, con relativo sottotitolo nella riga 17
    il tutto va incrociato alla etichetta della riga 18
4) Il problema del punto 3 viene ripetuto successivamente
5) Ho in visione un solo foglio, non ho idea se il numero riga è stato perfettamente rispettato
In ogni caso allego foglio per avere vs/parere
Ciao e grazie
------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
Visto che c'è sempre un'etichetta a sx, io passerei riga per riga la colonna A del foglio, controllando se la prima cella corrisponde al nome richiesto, quindi inserirei il dato (o i dati) alla dx all'interno di un'array, quindi facilmente nel database.
Per esempio:

Sub Main
Dim mNomi(2)
Dim mVar(2)
oDoc = ThisComponent
oSheet = oDoc.Sheets.getByName("Tabella1")
mNomi() = array("COGNOME","NOME","ETA'")
mVar() = array(sCognome,sNome,sVar)
For j=0 to UBound(mNomi)
For i=0 To 50
   oCell = oSheet.getCellByPosition(0,i)
   If oCell.string = mNomi(j) Then
       mVar(j) = oSheet.getCellByPosition(1,i).String
       Exit For
   Endif
Next
Next
print mVar(0) & "," & mVar(1) & "," & mVar(2)
End Sub

Solo nel caso di "LONTANO" è necessario spostarsi in maniera predefinita, potresti comunque fare un check sulla casella sopra per sicurezza.

Spero sia utile.

Ciao
Sergio

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a