Retorna a lista transposta de todas as cadeias de caracteres em uma linha no Excel

0

Na planilha Excel (para Mac 2011), o intervalo B2: 2 contém principalmente células vazias, mas algumas células contêm strings. Eu gostaria de imprimir essas seqüências em uma lista transposta começando em A12. Esta lista deve excluir todas as células vazias e deve imprimir (em células consecutivas) todas as strings em B2: 2.

Até agora, eu tentei {=INDEX($B$2:$E$2, 0, SMALL(IF(NOT(ISEMPTY($B$2:$E$2)), COLUMN($B$2:$E$2)), ROW(1:1)} , como vários sites e respostas do Stack Exchange sugeriram, e {=INDEX($B$2:$E$2, 0, SMALL(IF($B$2:$E$2<>"", COLUMN($B$2:$E$2)), ROW(1:1) . No entanto, estas fórmulas apenas transpuseram simplesmente todo o intervalo começando em A12 quando o B2 está cheio. Quando B2 não está preenchido, nenhum valor aparece.

Como devo proceder?

    
por evanvass 26.03.2015 / 12:24

1 resposta

0

Sub FillRange()
Dim rng As Range, cell As Range
Dim counter As Long: counter = 0
Set rng = Range("B2:E2")

For Each cell In rng
    If Not IsEmpty(cell) Then
       Range("A12").Offset(counter, 0) = cell
       counter = counter + 1
    End If
Next cell
End Sub

Você pode resolver seu problema facilmente usando uma macro.

    
por 26.03.2015 / 14:34