contare valori di una colonna in vba
Hai un problema con Excel? 
contare valori di una colonna in vba
di frank1989 data: 12/07/2016 15:58:40
ciao ragazzi,
all'interno della colonna "O" ho alcune righe con dei valori ed altre che sono vuote; quello che vorrei fare è contare quante celle all'interno della colonna presentano un valore ipotizzando di non avere informazioni su quale sia l'ultima riga. (mi spiego meglio: nel caso in cui voglio contare le celle con valori nell'intervallo Range (cells(4,15),cells(4514,15)) utilizzo il codice che vedete, ma nel caso in cui io non abbia l'informazione sulla riga finale (4515) come posso fare?
vi ringrazio
Sub conta()
With Range("o2") ' dove viene restituito il valore del conteggio
.FormulaLocal = "=conta.valori(o4:o4514)"
.Value = .Value
End With
End Sub |
di Raffaele_53 data: 12/07/2016 16:16:20
Prova cosi
Sub conta()
Dim Ur
Ur = Range("O" & Rows.Count).End(xlUp).Row
Range("O2") = Application.WorksheetFunction.CountA(Range("O4:O" & Ur))
End Sub |
di frank1989 data: 12/07/2016 16:26:25
fanstastico, FUNZIONA!!! ultima curiosità, ad Ur praticamente stai assegnando il numero dell'ultima riga utilizzata dicendo di contare dall'ultima riga del foglio? corretto?
sei stato gentilissimo
di Vecchio Frac data: 12/07/2016 16:47:50
Sì, il codice proposta simula la pressione dei tasti "Fine" e "freccia in su" a partire dall'ultima riga disponibile in colonna "O" (così ti assicuri di partire da riga 65535 se sei in Excel <= 2003, da riga un milione e rotti se sei in Excel >= 2007). Quindi alla fine il cursore si posiziona sulla prima cella non-vuota della colonna "O" e così ottieni il riferimento cercato. E' un trick frequentemente usato.
di frank1989 data: 12/07/2016 17:41:44
Vi ringrazio gentilissimi. Un consiglio ragazzi, io ho sempre programmato in R-studio e mai in Vba, dato che adesso per questioni lavorative devo utilizzarlo avreste da consigliarmi un corso da frequentare o un manuale da leggere in particolare?
grazie ad entrambi per il codice e per la spiegazione
Vuoi Approfondire?