Codice VBA
Nessun oggetto Row o Column
Non ci sono oggetti Row o Column e non ci sono collezioni Rows o Columns.
È possibile tuttavia utilizzare le proprietà dell’oggetto activesheet
ActiveSheet.Columns(icolumn)
Questo restituisce un oggetto Range che si riferisce ad una particolare colonna.
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
Le proprietà EntireColumn e EntireRow restituiscono le colonne o le righe in cui si trova il range dato.
Questi vengono poi trattati come normali intervalli di celle.
ActiveSheet.Outlines.ShowLevels RowLevels:=2
Range("B2:B10").EntireColumn.Interior.ColorIndex = 27
Application.Intersect(Activesheet.Rows(2).Cells, Activesheet.Columns(4).Cells)
Colonne
ActiveSheet.Columns
ActiveSheet.UsedRange.Columns.Count
ActiveSheet.Columns("A:C").Delete
Range("A1:E10").Columns("C").Insert
Numero di righe attualmente selezionate
lcount = Selection.Rows.Count
Numero di colonne in una selezione multipla
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
Anche chiamato GetColumnName, ColumnNumberToLetter
ColumnNumberToNa,e
Questione
Vorrei nascondere una riga se certi valori sono inseriti in tre celle. Per esempio, se Regno Unito è selezionato nelle celle C3 e C5 e CI è selezionato nella cella C10, avrei la riga 16 nascosta. Vorrei che questo sia dinamicamente cioè aggiornato ogni volta che il valore nella cella cambia.
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