Filas y Columnas de Excel – Código VBA

Código VBA

No hay objetos Fila o Columna

No hay objetos Fila o Columna y no hay colecciones Filas o Columnas.
Sin embargo, es posible utilizar las propiedades del objeto activesheet

ActiveSheet.Columns(icolumn) 

Esto devuelve un objeto Range que hace referencia a una columna concreta.

Range("C1").ColumnWidth = Range("A1").ColumnWidth 

icount = Selection.Columns.Count - returns the number of columns currently selected 
ActiveSheet.Rows
ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows(10).Cells(6).Select

Las propiedades EntireColumn y EntireRow devuelven las columnas o filas en las que se encuentra el rango dado.
Se tratan entonces como rangos normales de celdas.

ActiveSheet.Outlines.ShowLevels RowLevels:=2 

Range("B2:B10").EntireColumn.Interior.ColorIndex = 27 

Application.Intersect(Activesheet.Rows(2).Cells, Activesheet.Columns(4).Cells) 

Columnas

ActiveSheet.Columns 
ActiveSheet.UsedRange.Columns.Count
ActiveSheet.Columns("A:C").Delete
Range("A1:E10").Columns("C").Insert

Número de filas actualmente seleccionadas

lcount = Selection.Rows.Count 

Número de columnas en una selección múltiple

Dim iareacount As Integer 
Dim itotal as Integer
itotal = 0
For iareacount = 1 to Selection.Areas.Count
itotal = itotal + Selection.Areas(iareacount).Columns.Count
Next iareacount
Call MsgBox(itotal)

ActiveSheet.UsedRange.Row 

También llamado GetColumnName, ColumnNumberToLetter
ColumnNumberToNa,e

Pregunta

Me gustaría ocultar una fila si se introducen ciertos valores en tres celdas. Por ejemplo, si se selecciona Reino Unido en las celdas C3 y C5 y se selecciona CI en la celda C10, entonces tendría la fila 16 oculta. Me gustaría que esto se actualizara dinámicamente, es decir, cada vez que cambie el valor de la celda.

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim rng As Range
Set rng = Me.Range("C3,C5,C10")
If Not Intersect(rng, Target) Is Nothing Then
Rows(16).EntireRow.Hidden = Range("C3").Value = _
"United Kingdom" And Range("C5").Value = _
"United Kingdom" And Range("C10") = "C1"
End If
End Sub

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *