Ciao a tutti.
Non vado molto d'accordo con Excel, ma ogni tanto purtroppo devo usarlo.
Volevo automatizzare un aggiornamento di un file excel prendendo dei valori da un db access in uso.
in teoria la cosa è molto semplice: nel file Excel ho gli anni (dal 2013) come intestazione di colonna, e per ogni anno su ogni riga inserisco un numero. Lavoro “in tempo reale”, nel senso che lavoro sempre e solo sull'anno in corso, non ho necessità di andare su anni precedenti.
Sono una totale zappa con interazione excel (word ancora ci vado d'accordo), così ho cercato un pò in rete e avrei trovato quello che fa al caso mio, quindi ho fatto una prova:
With ws
'================
'COORDINATE EXCEL
'================
'Calcola la colonna dell'anno in corso
Y = 2 + ((2013 - Year(Now)) * -1) '2 perchè il primo anno nel mio file è il 2013 che sta in colonna 2, -1 perchè dalla differenza mi esce un numero negativo
'Ricava la prima cella libera dell'anno in corso
X = (Cells(Rows.Count, Y).End(xlUp).Row + 1)
Debug.Print "(" & X & "," & Y & ")"
.Cells(X, Y) = "STO SCRIVENDO QUI"
End With
funziona a metà…. nel senso che nel file excel la colonna dell'anno corrisponde, ma mi scrive molto più sotto della prima cella libera, nel mio esempio scrive nella cella con coordinate (43,11) quando invece la prima cella libera di quella colonna è alla riga 35, quindi dovrebbe essere (35,11)
Cos'è che sbaglio (perchè di sicuro sbaglio)?
Andrea