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