View Full Version : [Visual Basic 6] - Righe piene su Excel
lucausa75
01-12-2007, 22:03
Salve ragazzi,
dato un foglio Excel di X righe e Y colonne volevo sapere se esiste una funzione che mi restituisce il numero totale di righe piene di una data colonna.
Esempio
http://img140.imageshack.us/img140/17/immaginenc5.jpg (http://imageshack.us)
In questo caso la funzione dovrà restituire 4 per la prima colonna, 5 per la seconda e la terza
Mi aiutate?
Grazie 1000!
john_revelator
01-12-2007, 23:42
Non sono molto pratico di vb. Posso però darti un consiglio su excel. Magari ti tornerà utile per il tuo problema.
Questa restituisce 4
=65536-CONTA.VUOTE(A:A)
e questa restituisce 5
=65536-CONTA.VUOTE(B:B)
In pratica non fai altro che sottrarre al numero massimo di righe di ciascuna colonna quelle che excel individua come vuote.
lucausa75
02-12-2007, 10:04
...un altro quesito.
Con la routine sottoelencata (dopo aver esportato il contenuto di una griglia su un foglio excel) formatto le colonne del foglio excel.
Volevo sapere come fare per impostare l'allineamento a destra delle colonne
Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet
Dim intRow As Integer ' counter
Dim intCol As Integer ' counter
For intCol = 1 To TheCols
wsXL.Columns(intCol).AutoFit
wsXL.Columns(intCol).AutoFormat (1)
wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, 1) & TheRows).AutoFormat GridStyle
Next intCol
Grazie per l'aiuto
...un altro quesito.
Con la routine sottoelencata (dopo aver esportato il contenuto di una griglia su un foglio excel) formatto le colonne del foglio excel.
Volevo sapere come fare per impostare l'allineamento a destra delle colonne
Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet
Dim intRow As Integer ' counter
Dim intCol As Integer ' counter
For intCol = 1 To TheCols
wsXL.Columns(intCol).AutoFit
wsXL.Columns(intCol).AutoFormat (1)
wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, 1) & TheRows).AutoFormat GridStyle
Next intCol
Grazie per l'aiuto
Devi impostare la proprietà HorizontalAlignment per ogni singola cella in questo modo:
objWorksheet.Cells(1, 2).HorizontalAlignment = -4108
Dove -4108 equivale a centrato, -4152 equivale ad allineato a destra, -4131 ad allineato a sinistra.
;)
lucausa75
03-12-2007, 16:27
Devi impostare la proprietà HorizontalAlignment per ogni singola cella in questo modo:
objWorksheet.Cells(1, 2).HorizontalAlignment = -4108
Dove -4108 equivale a centrato, -4152 equivale ad allineato a destra, -4131 ad allineato a sinistra.
;)
debbo provare con:
wsXL.Columns(intCol).HorizontalAlignment = -4108
potrebbe funzionare?
lucausa75
08-12-2007, 17:06
Devi impostare la proprietà HorizontalAlignment per ogni singola cella in questo modo:
objWorksheet.Cells(1, 2).HorizontalAlignment = -4108
Dove -4108 equivale a centrato, -4152 equivale ad allineato a destra, -4131 ad allineato a sinistra.
;)
Grazie 1000!
Ho risolto mettendo la seguente riga di codice dietro tuo consiglio: wsXL.Cells(intRow, intCol).HorizontalAlignment = -4152
Adesso come faccio a definire il tipo di dati nelle colonne 6,7,8?
Cioè la colonna deve essere formattata di questo tipo: HH:MM:SS (Ore, minuti, secondi)
:)
lucausa75
12-12-2007, 10:45
Adesso come faccio a definire il tipo di dati nelle colonne 6,7,8?
Cioè la colonna deve essere formattata di questo tipo: HH:MM:SS (Ore, minuti, secondi)
:)
Grazie
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.