JavascriptProva

lunedì 29 febbraio 2016

VBA Excel: un paio di funzioni utili per manipolare un documento

Ecco un paio di routines di VBA utili per manipolare il foglio Excel.

Questa copia un frammento di una riga in una colonna:
'Codice per ricopiare un range di celle disposte in riga in colonna su un altro o sullo stesso foglio.
'Accetta come parametri:
'NOME DEL FOGLIO DI ORIGINE
'RIGA DEL RANGE DA COPIARE
'COLONNA DI INIZIO DEL RANGE DA COPIARE
'COLONNA DI FINE DEL RANGE DA COPIARE
'NOME DEL FOGLIO DI DESTINAZIONE
'RIGA DI INIZIO DEL RANGE DI DESTINAZIONE
'COLONNA DESTINAZIONE DEL RANGE DA COPIARE

Private Sub copy(SourceSheetName As String, SourceRow As Integer, SourceCol1 As Integer, SourceCol2 As Integer, DestSheetName As String, DestRow As Integer, DestCol As Integer)
For n = SourceCol1 To SourceCol2
Sheets(SourceSheetName).Cells(SourceRow, n).copy Destination:=Sheets(DestSheetName).Cells(DestRow + n - 2, DestCol)
Next
End Sub

Questa cancella le righe vuote da un documento:
'Cancella le righe vuote di un foglio.
Sub DeleteEmptyRows()
Dim Righe As Collection
Set Righe = New Collection
For n = 1 To ActiveSheet.UsedRange.Rows.Count
Righe.Add ActiveSheet.Rows(n)
Next n
For Each riga In Righe
If WorksheetFunction.CountA(riga) = 0 Then riga.Delete
Next
End Sub

Nessun commento:

Posta un commento