Propriedade Range.Columns (Excel)
Retorna um objeto Intervalo que representa as colunas no intervalo especificado.
Sintaxe
expressão. Colunas
expressão Uma variável que representa um objeto de Intervalo.
Comentários
Para retornar uma única coluna, use a propriedade Item ou inclua equivalentemente um índice em parênteses. Por exemplo, ambos Selection.Columns(1)
e Selection.Columns.Item(1)
retornam a primeira coluna da seleção.
Quando aplicada a um objeto Range que é uma seleção de várias áreas, essa propriedade retorna colunas apenas da primeira área do intervalo. Por exemplo, se o objeto Range tiver duas áreas: A1:B2 e C3:D4,Selection.Columns.Count
retornará 2, não 4. Para usar essa propriedade em um intervalo que possa conter uma seleção de várias áreas, teste Areas.Count
para determinar se o intervalo contém mais de uma área. Se isso acontecer, crie um loop sobre cada área do intervalo.
O intervalo retornado pode estar fora do intervalo especificado. Por exemplo, Range("A1:B2").Columns(5).Select
retornar as células E1:E2.
Se uma letra for usada como um índice, ela será equivalente a um número. Por exemplo, Range("B1:C10").Columns("B").Select
retornar as células C1:C10, não as células B1:B10. No exemplo, "B" é equivalente a 2.
Usar a propriedade Columns sem um qualificador de objeto é equivalente ao uso de ActiveSheet.Columns
. Para obter mais informações, consulte a propriedade Worksheet.Columns .
Exemplo
Este exemplo define o valor de cada célula na coluna um no intervalo chamado myRange como 0 (zero).
Range("myRange").Columns(1).Value = 0
Este exemplo exibe o número de colunas na seleção em Sheet1. Se mais de uma área for selecionada, o exemplo fará loop por todas elas.
Public Sub ShowNumberOfColumnsInSheet1Selection
Worksheets("Sheet1").Activate
Dim selectedRange As Excel.Range
Set selectedRange = Selection
Dim areaCount As Long
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Columns.Count & " columns."
Else
Dim areaIndex As Long
areaIndex = 1
For Each area In Selection.Areas
MsgBox "Area " & areaIndex & " of the selection contains " & _
area.Columns.Count & " columns."
areaIndex = areaIndex + 1
Next
End If
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.