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.